bucld Behavioral Analysis

Age at MRI and EEG

setwd("/Users/jojohu/Documents/Qlab/bucld")

drive_checklist <-
  read.csv("/Users/jojohu/Documents/Qlab/bucld/drive_checklist.csv")

#Reformat date columns
drive_checklist$date_of_mri <-
as.Date(drive_checklist$date_of_mri, format = "%Y-%m-%d")

drive_checklist$date.of.birth <-
as.Date(drive_checklist$date.of.birth, format = "%Y-%m-%d")


drive_checklist$date_of_eeg <-
as.Date(drive_checklist$date_of_eeg, format = "%Y-%m-%d")

#Calculate age in days
for (i in 1:length(drive_checklist$date.of.birth)) { 
if (!is.na(drive_checklist[i, "date_of_mri"])) {
  drive_checklist[i, "age_at_neuro_day"] <-
    difftime(drive_checklist[i, "date_of_mri"], drive_checklist[i, "date.of.birth"],
             units = c("days"))
} else {
  drive_checklist[i, "age_at_neuro_day"] <-
    difftime(drive_checklist[i, "date_of_eeg"], drive_checklist[i, "date.of.birth"],
             units = c("days"))
}
}

#Calculate age in months---------------------------------------------------------------------------------------------
#From Stackoverflow: https://stackoverflow.com/questions/1995933/number-of-months-between-two-dates
#Answer by https://stackoverflow.com/users/143305/dirk-eddelbuettel
#Credit to: Dirk Eddelbuettel

# turn a date into a 'monthnumber' relative to an origin
monnb <- function(d) {
  lt <- as.POSIXlt(as.Date(d, origin="1900-01-01"))
  lt$year*12 + lt$mon
  } 
# compute a month difference as a difference between two monnb's
mondf <- function(d1, d2) { 
  monnb(d2) - monnb(d1) 
}

#Calculate age in months
for (i in 1:length(drive_checklist$date.of.birth)) { 
if (!is.na(drive_checklist[i, "date_of_mri"])) {
  drive_checklist[i, "age_at_neuro_month"] <-
    mondf(drive_checklist[i, "date.of.birth"], drive_checklist[i, "date_of_mri"])
} else {
  drive_checklist[i, "age_at_neuro_month"] <-
    mondf(drive_checklist[i, "date.of.birth"], drive_checklist[i, "date_of_eeg"])
}
}

drive_checklist$age_at_neuro_year <- round(drive_checklist$age_at_neuro_month /12, 3)

#Clean Data

## Warning: NAs introduced by coercion

All behavioral data prep

#Make all measures into wide form by participant and measure
library("reshape")
library("data.table")
## 
## Attaching package: 'data.table'
## The following object is masked from 'package:reshape':
## 
##     melt
library("dplyr")
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:data.table':
## 
##     between, first, last
## The following object is masked from 'package:reshape':
## 
##     rename
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
blast_spoli_data_wide <- cast(blast_spoli_data_long, part_id~measure+task)

#Extract relevant demo information
gender_group_info <- bucld_demo_all[,c("part_id", "group", "sex", "age_at_web_month", "age_at_web_year")]
#Merge all demo data with sl measures
blast_spoli_data_wide <-
  merge(gender_group_info, blast_spoli_data_wide,
      by.x = "part_id", by.y = "part_id",
      all.y = TRUE)
 

blast_spoli_data_wide$accuracy_children_lsl_random_2afc_accuracies <-
as.numeric(as.character(blast_spoli_data_wide$accuracy_children_lsl_random_2afc_accuracies))

blast_spoli_data_wide$accuracy_lsl_predictable_2afc_accuracies <-
as.numeric(as.character(blast_spoli_data_wide$accuracy_lsl_predictable_2afc_accuracies))

blast_spoli_data_wide$entropy_children_lsl_predictable_entropy <-
as.numeric(as.character(blast_spoli_data_wide$entropy_children_lsl_predictable_entropy))

blast_spoli_data_wide$entropy_children_lsl_randomized_entropy <-
as.numeric(as.character(blast_spoli_data_wide$entropy_children_lsl_randomized_entropy))


blast_spoli_data_wide$accuracy_children_lsl_accuracies <-
  coalesce(blast_spoli_data_wide$accuracy_children_lsl_random_2afc_accuracies,
           blast_spoli_data_wide$accuracy_lsl_predictable_2afc_accuracies)


blast_spoli_data_wide$entropy_children_lsl_entropy <-
  coalesce(blast_spoli_data_wide$entropy_children_lsl_predictable_entropy,
           blast_spoli_data_wide$entropy_children_lsl_randomized_entropy)

ineligible_part_spoli <- blast_spoli_data_wide[which(blast_spoli_data_wide$age_at_web_year > 18),] 
blast_spoli_data_wide <- blast_spoli_data_wide[-which(blast_spoli_data_wide$age_at_web_year > 18),] 

More Data Prep

Gender Chi-square

bucld_all_completed_gender_wide <- bucld_all_completed[,c("part_id", "group", "sex")]

bucld_all_completed_gender_long <- melt(bucld_all_completed_gender_wide, id.vars = c("part_id", "group"))

gender_wide <- cast(bucld_all_completed_gender_long, group~value, length)

# Chi-square on gender
# p<0.05 tells us that they are not matched for gender between group
print(gender_wide)
##   group  F  M
## 1   ASD 11 41
## 2    TD 13  8
print(chisq.test(gender_wide))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  gender_wide
## X-squared = 9.4859, df = 1, p-value = 0.002071

Gender is NOT matched between group.

Gender Match Group, all analysis below changes

male_pool <- bucld_all_completed[which(bucld_all_completed$sex == "M" &
                                         bucld_all_completed$group == "ASD"),]

other_data <- bucld_all_completed[-which(bucld_all_completed$sex == "M" &
                                         bucld_all_completed$group == "ASD"),]
complete_count <-
apply(male_pool[c("accuracy_children_tsl_accuracies", "accuracy_children_ssl_accuracies",
           "accuracy_children_vsl_accuracies", "accuracy_children_lsl_accuracies")], 1, function(x) {
                sum(!is.na(x)) })

male_pool <- cbind(male_pool, complete_count) 

male_pool <- male_pool[-which(male_pool$complete_count < 3),]

male_pool <- male_pool[ , !(names(male_pool) %in% "complete_count")]

sampled_male <- male_pool[sample(nrow(male_pool), 20), ]

bucld_all_completed <- rbind(other_data, sampled_male)

bucld_all_completed_gender_wide <- bucld_all_completed[,c("part_id", "group", "sex")]

bucld_all_completed_gender_long <- melt(bucld_all_completed_gender_wide, id.vars = c("part_id", "group"))

gender_wide <- cast(bucld_all_completed_gender_long, group~value, length)

# Chi-square on gender
# p<0.05 tells us that they are not matched for gender between group
print(gender_wide)
##   group  F  M
## 1   ASD 11 20
## 2    TD 13  8
print(chisq.test(gender_wide))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  gender_wide
## X-squared = 2.5337, df = 1, p-value = 0.1114

Gender is now matched between group

Age difference between group

td_age <- 
  bucld_all_completed[which(bucld_all_completed$group == "TD"), 
                       c("part_id", "group", "age_at_web_year")]


asd_age <- 
  bucld_all_completed[which(bucld_all_completed$group == "ASD"), 
                       c("part_id", "group", "age_at_web_year")]


library("pastecs")
## 
## Attaching package: 'pastecs'
## The following objects are masked from 'package:dplyr':
## 
##     first, last
## The following objects are masked from 'package:data.table':
## 
##     first, last
td_age_descrip_stat <- stat.desc(td_age)
td_age_descrip_stat <- td_age_descrip_stat[c("nbr.val","mean", "std.dev"),"age_at_web_year"]
td_age_descrip_stat <- data.frame(td_age_descrip_stat)
td_age_descrip_stat <- cbind(c("n","mean", "std.dev"), td_age_descrip_stat)
print(td_age_descrip_stat)
##   c("n", "mean", "std.dev") td_age_descrip_stat
## 1                         n           21.000000
## 2                      mean            9.290476
## 3                   std.dev            2.086601
asd_age_descrip_stat <- stat.desc(asd_age)
asd_age_descrip_stat <- asd_age_descrip_stat[c("nbr.val","mean", "std.dev"),"age_at_web_year"]
asd_age_descrip_stat <- data.frame(asd_age_descrip_stat)
asd_age_descrip_stat <- cbind(c("n","mean", "std.dev"), asd_age_descrip_stat)
print(asd_age_descrip_stat)
##   c("n", "mean", "std.dev") asd_age_descrip_stat
## 1                         n            31.000000
## 2                      mean             8.419355
## 3                   std.dev             2.212151
#Test age difference between group, p <0.05 means age is significantly different between group
print(t.test(td_age$age_at_web_year, asd_age$age_at_web_year))
## 
##  Welch Two Sample t-test
## 
## data:  td_age$age_at_web_year and asd_age$age_at_web_year
## t = 1.4415, df = 44.754, p-value = 0.1564
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.3462009  2.0884436
## sample estimates:
## mean of x mean of y 
##  9.290476  8.419355

Age is NOT significantly different between TD and ASD (for gender-matched and all online participants.)

Prep data for graphs, remove outliers

bucld_sl_bar_all <- bucld_all_completed[,c(1:2, 6:10, 25, 11:15, 26, 17:20, 21:24)]


#Remove outliners for accuracy data
ssl_accurarcy_outlier <-
bucld_sl_bar_all[which(bucld_sl_bar_all$accuracy_children_ssl_accuracies < 0.15), "part_id"]

tsl_accurarcy_outlier <-
bucld_sl_bar_all[which(bucld_sl_bar_all$accuracy_children_tsl_accuracies < 0.15), "part_id"]

vsl_accurarcy_outlier <-
bucld_sl_bar_all[which(bucld_sl_bar_all$accuracy_children_vsl_accuracies < 0.15), "part_id"]

lsl_accurarcy_outlier <-
bucld_sl_bar_all[which(bucld_sl_bar_all$accuracy_children_lsl_accuracies < 0.15), "part_id"]

if(length(ssl_accurarcy_outlier) != 0) {
  bucld_sl_bar_all[which(
    bucld_sl_bar_all$part_id %in% ssl_accurarcy_outlier),
  c("accuracy_children_ssl_accuracies")] <- NA
}

if(length(ssl_accurarcy_outlier) != 0) {
  bucld_all_completed[which(
    bucld_all_completed$part_id %in% ssl_accurarcy_outlier),
  c("accuracy_children_ssl_accuracies")] <- NA
}


if(length(tsl_accurarcy_outlier) != 0) {
  bucld_sl_bar_all[which(
    bucld_sl_bar_all$part_id %in% tsl_accurarcy_outlier),
  c("accuracy_children_tsl_accuracies")] <- NA
}

if(length(tsl_accurarcy_outlier) != 0) {
  bucld_all_completed[which(
    bucld_all_completed$part_id %in% tsl_accurarcy_outlier),
  c("accuracy_children_tsl_accuracies")] <- NA
}

if(length(vsl_accurarcy_outlier) != 0) {
  bucld_sl_bar_all[which(
    bucld_sl_bar_all$part_id %in% vsl_accurarcy_outlier),
  c("accuracy_children_vsl_accuracies")] <- NA
}

if(length(vsl_accurarcy_outlier) != 0) {
  bucld_all_completed[which(
    bucld_all_completed$part_id %in% vsl_accurarcy_outlier),
  c("accuracy_children_vsl_accuracies")] <- NA
}


if(length(lsl_accurarcy_outlier) != 0) {
  bucld_sl_bar_all[which(
    bucld_sl_bar_all$part_id %in% lsl_accurarcy_outlier),
  c("accuracy_children_lsl_accuracies")] <- NA
}

if(length(lsl_accurarcy_outlier) != 0) {
  bucld_all_completed[which(
    bucld_all_completed$part_id %in% lsl_accurarcy_outlier),
  c("accuracy_children_lsl_accuracies")] <- NA
}
#Remove outliners for RT and RT slope data-----------------------------------------------------------------
ssl_rt_hit_count <- read.csv("ssl_rt_hit_trial_count.csv")
tsl_rt_hit_count <- read.csv("tsl_rt_hit_trial_count.csv")
vsl_rt_hit_count <- read.csv("vsl_rt_hit_trial_count.csv")
lsl_rt_hit_count <- read.csv("lsl_rt_hit_trial_count.csv")

ssl_rt_hit_count <- 
  ssl_rt_hit_count[which(ssl_rt_hit_count$part_id %in% bucld_sl_bar_all$part_id),]
tsl_rt_hit_count <- 
  tsl_rt_hit_count[which(tsl_rt_hit_count$part_id %in% bucld_sl_bar_all$part_id),]
vsl_rt_hit_count <- 
  vsl_rt_hit_count[which(vsl_rt_hit_count$part_id %in% bucld_sl_bar_all$part_id),]
lsl_rt_hit_count <- 
  lsl_rt_hit_count[which(lsl_rt_hit_count$part_id %in% bucld_sl_bar_all$part_id),]

ssl_rt_outlier <- ssl_rt_hit_count[which(ssl_rt_hit_count$hit_trial_number < 6), "part_id"]
tsl_rt_outlier <- tsl_rt_hit_count[which(tsl_rt_hit_count$hit_trial_number < 6), "part_id"]
vsl_rt_outlier <- vsl_rt_hit_count[which(vsl_rt_hit_count$hit_trial_number < 6), "part_id"]
lsl_rt_outlier <- lsl_rt_hit_count[which(lsl_rt_hit_count$hit_trial_number < 6), "part_id"]


if(length(ssl_rt_outlier) != 0) {
  bucld_sl_bar_all[which(
    bucld_sl_bar_all$part_id %in% ssl_rt_outlier),
  c("rt_children_ssl_indiv_rts",
    "slope_children_ssl_indiv_rts_slope")] <- NA
}

if(length(ssl_rt_outlier) != 0) {
  bucld_all_completed[which(
    bucld_all_completed$part_id %in% ssl_rt_outlier),
  c("rt_children_ssl_indiv_rts",
    "slope_children_ssl_indiv_rts_slope")] <- NA
}

if(length(tsl_rt_outlier) != 0) {
  bucld_sl_bar_all[which(
    bucld_sl_bar_all$part_id %in% tsl_rt_outlier),
  c("rt_children_tsl_indiv_rts",
    "slope_children_tsl_indiv_rts_slope")] <- NA
}


if(length(tsl_rt_outlier) != 0) {
  bucld_all_completed[which(
    bucld_all_completed$part_id %in% tsl_rt_outlier),
  c("rt_children_tsl_indiv_rts",
    "slope_children_tsl_indiv_rts_slope")] <- NA
}

if(length(vsl_rt_outlier) != 0) {
  bucld_sl_bar_all[which(
    bucld_sl_bar_all$part_id %in% vsl_rt_outlier),
    c("rt_children_vsl_indiv_rts",
      "slope_children_vsl_indiv_rts_slope")] <- NA
}


if(length(vsl_rt_outlier) != 0) {
  bucld_all_completed[which(
    bucld_all_completed$part_id %in% vsl_rt_outlier),
    c("rt_children_vsl_indiv_rts",
      "slope_children_vsl_indiv_rts_slope")] <- NA
}

if(length(lsl_rt_outlier) != 0) {
  bucld_sl_bar_all[which(
    bucld_sl_bar_all$part_id %in% lsl_rt_outlier),
    c("rt_children_lsl_indiv_rts",
      "slope_children_lsl_indiv_rts_slope")] <- NA
}


if(length(lsl_rt_outlier) != 0) {
  bucld_all_completed[which(
    bucld_all_completed$part_id %in% lsl_rt_outlier),
    c("rt_children_lsl_indiv_rts",
      "slope_children_lsl_indiv_rts_slope")] <- NA
}

These are removed outliers:

SSL RT and Slope < 6 hits: blast_c_081

TSL RT and Slope < 6 hits: blast_c_081, blast_c_138, blast_c_209

VSL RT and Slope < 6 hits:

LSL RT and Slope < 6 hits:

SSL Accuracy:

TSL Accuracy:

VSL Accuracy:

LSL Accuracy:

Plot Accuracy line plot

Group SL analysis & KBIT, SCQ Descriptive Stat

T-test TD vs. ASD

td_sl <- 
  bucld_all_completed[which(bucld_all_completed$group == "TD"),]


asd_sl <- 
  bucld_all_completed[which(bucld_all_completed$group == "ASD"),]


library("pastecs")
td_sl$scq_web <- as.numeric(as.character(td_sl$scq_web))
td_kbit_scq_descrip_stat <- stat.desc(td_sl[,c(34:35, 27, 41)])
## Warning in min(x): no non-missing arguments to min; returning Inf
## Warning in max(x): no non-missing arguments to max; returning -Inf
## Warning in qt((0.5 + p/2), (Nbrval - 1)): NaNs produced
td_kbit_scq_descrip_stat <- td_kbit_scq_descrip_stat[c("nbr.val","mean", "std.dev"),
                                                     c("kbit_matrices_raw", "kbit_matrices_std", "scq_total")]
print(td_kbit_scq_descrip_stat)
##         kbit_matrices_raw kbit_matrices_std scq_total
## nbr.val         21.000000          21.00000 19.000000
## mean            31.047619         112.19048  2.210526
## std.dev          6.822582          15.70229  1.583910
asd_kbit_scq_descrip_stat <- stat.desc(asd_sl[,c(34:35, 27, 41)])
asd_kbit_scq_descrip_stat <- asd_kbit_scq_descrip_stat[c("nbr.val","mean", "std.dev"),
                                                     c("kbit_matrices_raw", "kbit_matrices_std", "scq_total" , "scq_web")]
print(asd_kbit_scq_descrip_stat)
##         kbit_matrices_raw kbit_matrices_std scq_total   scq_web
## nbr.val           7.00000           7.00000   7.00000 27.000000
## mean             27.00000         108.28571  13.28571 19.444444
## std.dev           7.81025          17.97882   4.88925  8.576952
#p <0.05, TD and ASD are truly different
#t.test(td_sl$accuracy_children_ssl_accuracies, asd_sl$accuracy_children_ssl_accuracies)

t_test_multi_pair <- 
  function(x,y){
  test <- t.test(x,y)

  data.frame(p_value = test$p.value,
             df = test$parameter,
             t_stat = test$statistic)
  }


#Results withOUT outliers
sapply(intersect(colnames(td_sl),colnames(asd_sl))[c(6:10, 25)], 
                 function(x) t_test_multi_pair(td_sl[,x], asd_sl[,x]))
##         accuracy_children_lsl_random_2afc_accuracies
## p_value 0.006701259                                 
## df      18.04752                                    
## t_stat  3.061861                                    
##         accuracy_children_ssl_accuracies accuracy_children_tsl_accuracies
## p_value 0.153828                         0.3563519                       
## df      20.26406                         27.89826                        
## t_stat  1.481609                         0.9378867                       
##         accuracy_children_vsl_accuracies
## p_value 0.3289073                       
## df      28.24031                        
## t_stat  0.9934916                       
##         accuracy_lsl_predictable_2afc_accuracies
## p_value 0.1453067                               
## df      4.811187                                
## t_stat  1.736381                                
##         accuracy_children_lsl_accuracies
## p_value 0.006187383                     
## df      27.00123                        
## t_stat  2.969725
sapply(intersect(colnames(td_sl),colnames(asd_sl))[c(11:15, 26)], 
                 function(x) t_test_multi_pair(td_sl[,x], asd_sl[,x]))
##         entropy_children_lsl_predictable_entropy
## p_value 0.5143953                               
## df      4.004192                                
## t_stat  -0.7144384                              
##         entropy_children_lsl_randomized_entropy
## p_value 0.3857383                              
## df      15.89571                               
## t_stat  -0.8919208                             
##         entropy_children_ssl_entropy entropy_children_tsl_entropy
## p_value 0.894859                     0.6054487                   
## df      21.69667                     19.29952                    
## t_stat  -0.1337168                   -0.5251667                  
##         entropy_children_vsl_entropy entropy_children_lsl_entropy
## p_value 0.3407335                    0.2143877                   
## df      28.57119                     22.17205                    
## t_stat  -0.9688849                   -1.278232
sapply(intersect(colnames(td_sl),colnames(asd_sl))[c(17:20)], 
                 function(x) t_test_multi_pair(td_sl[,x], asd_sl[,x]))
##         rt_children_lsl_indiv_rts rt_children_ssl_indiv_rts
## p_value 0.5155238                 0.4459984                
## df      30.02629                  28.05335                 
## t_stat  -0.6580439                0.7729805                
##         rt_children_tsl_indiv_rts rt_children_vsl_indiv_rts
## p_value 0.0695137                 0.4945933                
## df      23.85312                  29.98968                 
## t_stat  1.900543                  -0.6914628
sapply(intersect(colnames(td_sl),colnames(asd_sl))[c(21:24)], 
                 function(x) t_test_multi_pair(td_sl[,x], asd_sl[,x]))
##         slope_children_lsl_indiv_rts_slope
## p_value 0.1501243                         
## df      23.19166                          
## t_stat  -1.488377                         
##         slope_children_ssl_indiv_rts_slope
## p_value 0.575198                          
## df      29.91358                          
## t_stat  -0.5666224                        
##         slope_children_tsl_indiv_rts_slope
## p_value 0.8804594                         
## df      33.63381                          
## t_stat  0.1515345                         
##         slope_children_vsl_indiv_rts_slope
## p_value 0.07461568                        
## df      33.98648                          
## t_stat  1.839334
# Still in lab sample comparison for Kbit and SCQ:
sapply(intersect(colnames(td_sl),colnames(asd_sl))[c(34:35, 41)], 
                 function(x) t_test_multi_pair(td_sl[,x], asd_sl[,x]))
##         kbit_matrices_raw kbit_matrices_std scq_total   
## p_value 0.251086          0.6199097         0.0008166487
## df      9.260746          9.25946           6.469729    
## t_stat  1.224258          0.5130836         -5.880579

LSL accuracy significantly higher (p = 0.031) (TD > ASD). No outliners in the gender matched online sample.

SCQ In Lab significantly higher in ASD (DF = 4.22). No group difference is seen for KBIT (DF = 6.54).

Data Prep for group:task interaction analysis

Add modality and domain category to long-format data

Mixed level modeling

Data Prep for LMER

Run LMER for accuracy

# Order matters, task factor order matters in LMER
# https://stats.stackexchange.com/questions/14522/variable-order-and-accounted-variability-in-linear-mixed-effects-modeling
library(lmerTest)
## Loading required package: lme4
## Loading required package: Matrix
## 
## Attaching package: 'Matrix'
## The following object is masked from 'package:reshape':
## 
##     expand
## 
## Attaching package: 'lmerTest'
## The following object is masked from 'package:lme4':
## 
##     lmer
## The following object is masked from 'package:stats':
## 
##     step
crossed_random_effect_acc_long$task <- 
  factor(crossed_random_effect_acc_long$task,levels = c("accuracy_children_lsl_accuracies", 
                                              "accuracy_children_ssl_accuracies", 
                                              "accuracy_children_vsl_accuracies", 
                                              "accuracy_children_tsl_accuracies"))

crossed_random_effect_acc_long <-
  crossed_random_effect_acc_long[order(crossed_random_effect_acc_long$task), ]

m1_acc = lmer(value~group*task + (1+task|part_id),
          data=crossed_random_effect_acc_long,
          control=lmerControl(optimizer = "bobyqa",
                              check.nobs.vs.nRE="ignore"))
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model is nearly unidentifiable: large eigenvalue ratio
##  - Rescale variables?
## Warning: Model failed to converge with 1 negative eigenvalue: -8.6e-07
summary(m1_acc)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: value ~ group * task + (1 + task | part_id)
##    Data: crossed_random_effect_acc_long
## Control: lmerControl(optimizer = "bobyqa", check.nobs.vs.nRE = "ignore")
## 
## REML criterion at convergence: 468.4
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -1.62080 -0.43100 -0.03051  0.36904  2.07541 
## 
## Random effects:
##  Groups   Name                                 Variance Std.Dev. Corr 
##  part_id  (Intercept)                          0.4817   0.6941        
##           taskaccuracy_children_ssl_accuracies 0.5635   0.7507   -0.42
##           taskaccuracy_children_vsl_accuracies 0.1409   0.3754    0.02
##           taskaccuracy_children_tsl_accuracies 0.8577   0.9261   -0.54
##  Residual                                      0.3594   0.5995        
##             
##             
##             
##  -0.38      
##   0.26  0.33
##             
## Number of obs: 174, groups:  part_id, 52
## 
## Fixed effects:
##                                              Estimate Std. Error      df
## (Intercept)                                   -0.3724     0.1742 41.2975
## groupTD                                        0.9302     0.2874 42.8184
## taskaccuracy_children_ssl_accuracies           0.2013     0.2148 40.8992
## taskaccuracy_children_vsl_accuracies           0.2081     0.1787 39.5986
## taskaccuracy_children_tsl_accuracies           0.2514     0.2395 44.9941
## groupTD:taskaccuracy_children_ssl_accuracies  -0.3784     0.3728 46.0152
## groupTD:taskaccuracy_children_vsl_accuracies  -0.5694     0.3013 42.6618
## groupTD:taskaccuracy_children_tsl_accuracies  -0.6085     0.3982 45.4347
##                                              t value Pr(>|t|)   
## (Intercept)                                   -2.138  0.03850 * 
## groupTD                                        3.236  0.00234 **
## taskaccuracy_children_ssl_accuracies           0.937  0.35418   
## taskaccuracy_children_vsl_accuracies           1.164  0.25130   
## taskaccuracy_children_tsl_accuracies           1.050  0.29944   
## groupTD:taskaccuracy_children_ssl_accuracies  -1.015  0.31530   
## groupTD:taskaccuracy_children_vsl_accuracies  -1.890  0.06560 . 
## groupTD:taskaccuracy_children_tsl_accuracies  -1.528  0.13341   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                          (Intr) gropTD tskccrcy_chldrn_s_
## groupTD                  -0.606                          
## tskccrcy_chldrn_s_       -0.579  0.351                   
## tskccrcy_chldrn_v_       -0.441  0.267  0.267            
## tskccrcy_chldrn_t_       -0.626  0.379  0.395            
## grpTD:tskccrcy_chldrn_s_  0.334 -0.565 -0.576            
## grpTD:tskccrcy_chldrn_v_  0.261 -0.475 -0.159            
## grpTD:tskccrcy_chldrn_t_  0.376 -0.629 -0.237            
##                          tskccrcy_chldrn_v_ tskccrcy_chldrn_t_
## groupTD                                                       
## tskccrcy_chldrn_s_                                            
## tskccrcy_chldrn_v_                                            
## tskccrcy_chldrn_t_        0.410                               
## grpTD:tskccrcy_chldrn_s_ -0.154             -0.227            
## grpTD:tskccrcy_chldrn_v_ -0.593             -0.243            
## grpTD:tskccrcy_chldrn_t_ -0.247             -0.601            
##                          grpTD:tskccrcy_chldrn_s_ grpTD:tskccrcy_chldrn_v_
## groupTD                                                                   
## tskccrcy_chldrn_s_                                                        
## tskccrcy_chldrn_v_                                                        
## tskccrcy_chldrn_t_                                                        
## grpTD:tskccrcy_chldrn_s_                                                  
## grpTD:tskccrcy_chldrn_v_  0.284                                           
## grpTD:tskccrcy_chldrn_t_  0.384                    0.428                  
## convergence code: 0
## Model is nearly unidentifiable: large eigenvalue ratio
##  - Rescale variables?
m2_acc <- lmer(value~group:task + group + (1 | part_id), data = crossed_random_effect_acc_long)
summary(m2_acc)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: value ~ group:task + group + (1 | part_id)
##    Data: crossed_random_effect_acc_long
## 
## REML criterion at convergence: 476.7
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -1.98610 -0.57429 -0.08989  0.43375  2.73311 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  part_id  (Intercept) 0.2230   0.4722  
##  Residual             0.7261   0.8521  
## Number of obs: 174, groups:  part_id, 52
## 
## Fixed effects:
##                                               Estimate Std. Error       df
## (Intercept)                                    -0.3603     0.1864 151.4257
## groupTD                                         0.9203     0.3108 155.0828
## groupASD:taskaccuracy_children_ssl_accuracies   0.1807     0.2293 121.5254
## groupTD:taskaccuracy_children_ssl_accuracies   -0.1776     0.3244 133.2601
## groupASD:taskaccuracy_children_vsl_accuracies   0.2069     0.2309 120.6146
## groupTD:taskaccuracy_children_vsl_accuracies   -0.3692     0.3078 130.7347
## groupASD:taskaccuracy_children_tsl_accuracies   0.2411     0.2318 122.9002
## groupTD:taskaccuracy_children_tsl_accuracies   -0.3847     0.3096 125.4984
##                                               t value Pr(>|t|)   
## (Intercept)                                    -1.933  0.05513 . 
## groupTD                                         2.961  0.00355 **
## groupASD:taskaccuracy_children_ssl_accuracies   0.788  0.43219   
## groupTD:taskaccuracy_children_ssl_accuracies   -0.547  0.58496   
## groupASD:taskaccuracy_children_vsl_accuracies   0.896  0.37199   
## groupTD:taskaccuracy_children_vsl_accuracies   -1.199  0.23258   
## groupASD:taskaccuracy_children_tsl_accuracies   1.040  0.30021   
## groupTD:taskaccuracy_children_tsl_accuracies   -1.243  0.21625   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                           (Intr) gropTD grpASD:tskccrcy_chldrn_s_
## groupTD                   -0.600                                 
## grpASD:tskccrcy_chldrn_s_ -0.641  0.384                          
## grpTD:tskccrcy_chldrn_s_   0.000 -0.502  0.000                   
## grpASD:tskccrcy_chldrn_v_ -0.633  0.379  0.514                   
## grpTD:tskccrcy_chldrn_v_   0.000 -0.531  0.000                   
## grpASD:tskccrcy_chldrn_t_ -0.635  0.381  0.513                   
## grpTD:tskccrcy_chldrn_t_   0.000 -0.517  0.000                   
##                           grpTD:tskccrcy_chldrn_s_
## groupTD                                           
## grpASD:tskccrcy_chldrn_s_                         
## grpTD:tskccrcy_chldrn_s_                          
## grpASD:tskccrcy_chldrn_v_  0.000                  
## grpTD:tskccrcy_chldrn_v_   0.512                  
## grpASD:tskccrcy_chldrn_t_  0.000                  
## grpTD:tskccrcy_chldrn_t_   0.490                  
##                           grpASD:tskccrcy_chldrn_v_
## groupTD                                            
## grpASD:tskccrcy_chldrn_s_                          
## grpTD:tskccrcy_chldrn_s_                           
## grpASD:tskccrcy_chldrn_v_                          
## grpTD:tskccrcy_chldrn_v_   0.000                   
## grpASD:tskccrcy_chldrn_t_  0.506                   
## grpTD:tskccrcy_chldrn_t_   0.000                   
##                           grpTD:tskccrcy_chldrn_v_
## groupTD                                           
## grpASD:tskccrcy_chldrn_s_                         
## grpTD:tskccrcy_chldrn_s_                          
## grpASD:tskccrcy_chldrn_v_                         
## grpTD:tskccrcy_chldrn_v_                          
## grpASD:tskccrcy_chldrn_t_  0.000                  
## grpTD:tskccrcy_chldrn_t_   0.523                  
##                           grpASD:tskccrcy_chldrn_t_
## groupTD                                            
## grpASD:tskccrcy_chldrn_s_                          
## grpTD:tskccrcy_chldrn_s_                           
## grpASD:tskccrcy_chldrn_v_                          
## grpTD:tskccrcy_chldrn_v_                           
## grpASD:tskccrcy_chldrn_t_                          
## grpTD:tskccrcy_chldrn_t_   0.000
anova(m1_acc, m2_acc)
## refitting model(s) with ML (instead of REML)
## Data: crossed_random_effect_acc_long
## Models:
## m2_acc: value ~ group:task + group + (1 | part_id)
## m1_acc: value ~ group * task + (1 + task | part_id)
##        Df    AIC    BIC  logLik deviance  Chisq Chi Df Pr(>Chisq)
## m2_acc 10 485.93 517.53 -232.97   465.93                         
## m1_acc 19 495.22 555.25 -228.61   457.22 8.7102      9     0.4644
#write.csv(crossed_random_effect_acc_long, "bucld_accuracy_use_this_data.csv")

Marginal main effect of group

No siginificant differences between models.

lmer_acc_dom_mod <- add_dom_mod_func(crossed_random_effect_acc_long)

library(lmerTest)

# lmer_acc_dom_mod$task <- 
#   factor(lmer_acc_dom_mod$task,levels = c("accuracy_children_lsl_accuracies", 
#                                               "accuracy_children_ssl_accuracies", 
#                                               "accuracy_children_vsl_accuracies", 
#                                               "accuracy_children_tsl_accuracies"))
# 
# lmer_acc_dom_mod <-
#   lmer_acc_dom_mod[order(lmer_acc_dom_mod$task), ]

m1_acc_mod = lmer(value~group*domain + (1+domain|part_id), data=lmer_acc_dom_mod,
                  control=lmerControl(optimizer = "bobyqa", check.nobs.vs.nRE="ignore"))
summary(m1_acc_mod)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: value ~ group * domain + (1 + domain | part_id)
##    Data: lmer_acc_dom_mod
## Control: lmerControl(optimizer = "bobyqa", check.nobs.vs.nRE = "ignore")
## 
## REML criterion at convergence: 473.9
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -1.96576 -0.57333 -0.07259  0.46667  2.67687 
## 
## Random effects:
##  Groups   Name          Variance Std.Dev. Corr 
##  part_id  (Intercept)   0.2437   0.4937        
##           domainnonling 0.1276   0.3572   -0.22
##  Residual               0.6671   0.8168        
## Number of obs: 174, groups:  part_id, 52
## 
## Fixed effects:
##                       Estimate Std. Error      df t value Pr(>|t|)   
## (Intercept)            -0.2636     0.1419 43.3730  -1.857  0.07005 . 
## groupTD                 0.7342     0.2387 48.3798   3.076  0.00345 **
## domainnonling           0.1233     0.1684 45.5695   0.732  0.46793   
## groupTD:domainnonling  -0.4071     0.2835 50.4710  -1.436  0.15715   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) gropTD dmnnnl
## groupTD     -0.595              
## domainnnlng -0.562  0.335       
## grpTD:dmnnn  0.334 -0.589 -0.594
m2_acc_mod <- lmer(value~group*domain + (1 | part_id), data = lmer_acc_dom_mod)
summary(m2_acc_mod)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: value ~ group * domain + (1 | part_id)
##    Data: lmer_acc_dom_mod
## 
## REML criterion at convergence: 474.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.0276 -0.5667 -0.1055  0.4692  2.6454 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  part_id  (Intercept) 0.2257   0.4751  
##  Residual             0.7093   0.8422  
## Number of obs: 174, groups:  part_id, 52
## 
## Fixed effects:
##                       Estimate Std. Error       df t value Pr(>|t|)   
## (Intercept)            -0.2665     0.1424  89.1491  -1.872  0.06446 . 
## groupTD                 0.7414     0.2394 101.5417   3.097  0.00253 **
## domainnonling           0.1304     0.1599 124.6399   0.815  0.41646   
## groupTD:domainnonling  -0.4229     0.2703 129.7045  -1.565  0.12007   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) gropTD dmnnnl
## groupTD     -0.595              
## domainnnlng -0.564  0.336       
## grpTD:dmnnn  0.334 -0.592 -0.592
anova(m1_acc_mod, m2_acc_mod)
## refitting model(s) with ML (instead of REML)
## Data: lmer_acc_dom_mod
## Models:
## m2_acc_mod: value ~ group * domain + (1 | part_id)
## m1_acc_mod: value ~ group * domain + (1 + domain | part_id)
##            Df    AIC    BIC  logLik deviance  Chisq Chi Df Pr(>Chisq)
## m2_acc_mod  6 478.92 497.88 -233.46   466.92                         
## m1_acc_mod  8 482.60 507.87 -233.30   466.60 0.3242      2     0.8504

Run LMER for entropy

crossed_random_effect_entropy_long$task <- 
  factor(crossed_random_effect_entropy_long$task,levels = c("entropy_children_lsl_entropy", 
                                              "entropy_children_ssl_entropy", 
                                              "entropy_children_vsl_entropy", 
                                              "entropy_children_tsl_entropy"))

m1_ent = lmer(value~group:task + group + (1+task|part_id),
          data=crossed_random_effect_entropy_long,
          control=lmerControl(optimizer = "bobyqa",
                              check.nobs.vs.nRE="ignore"))
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model is nearly unidentifiable: large eigenvalue ratio
##  - Rescale variables?
## Warning: Model failed to converge with 1 negative eigenvalue: -4.0e-06
summary(m1_ent)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: value ~ group:task + group + (1 + task | part_id)
##    Data: crossed_random_effect_entropy_long
## Control: lmerControl(optimizer = "bobyqa", check.nobs.vs.nRE = "ignore")
## 
## REML criterion at convergence: 475.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.4636 -0.3225  0.1155  0.4369  1.3351 
## 
## Random effects:
##  Groups   Name                             Variance Std.Dev. Corr       
##  part_id  (Intercept)                      0.6563   0.8101              
##           taskentropy_children_ssl_entropy 1.2418   1.1144   -0.65      
##           taskentropy_children_vsl_entropy 0.4653   0.6821   -0.43  0.68
##           taskentropy_children_tsl_entropy 0.8385   0.9157   -0.55  0.72
##  Residual                                  0.3405   0.5835              
##       
##       
##       
##       
##   0.02
##       
## Number of obs: 174, groups:  part_id, 52
## 
## Fixed effects:
##                                           Estimate Std. Error       df
## (Intercept)                                0.18798    0.19024 40.10805
## groupTD                                   -0.45662    0.31574 41.06375
## groupASD:taskentropy_children_ssl_entropy -0.14438    0.26067 40.48315
## groupTD:taskentropy_children_ssl_entropy   0.19680    0.36070 48.25438
## groupASD:taskentropy_children_vsl_entropy -0.06583    0.20513 41.36809
## groupTD:taskentropy_children_vsl_entropy   0.06107    0.27794 46.54814
## groupASD:taskentropy_children_tsl_entropy -0.14460    0.23520 44.44044
## groupTD:taskentropy_children_tsl_entropy   0.15879    0.31007 46.48537
##                                           t value Pr(>|t|)
## (Intercept)                                 0.988    0.329
## groupTD                                    -1.446    0.156
## groupASD:taskentropy_children_ssl_entropy  -0.554    0.583
## groupTD:taskentropy_children_ssl_entropy    0.546    0.588
## groupASD:taskentropy_children_vsl_entropy  -0.321    0.750
## groupTD:taskentropy_children_vsl_entropy    0.220    0.827
## groupASD:taskentropy_children_tsl_entropy  -0.615    0.542
## groupTD:taskentropy_children_tsl_entropy    0.512    0.611
## 
## Correlation of Fixed Effects:
##                           (Intr) gropTD grpASD:tskntrpy_chldrn_s_
## groupTD                   -0.603                                 
## grpASD:tskntrpy_chldrn_s_ -0.685  0.412                          
## grpTD:tskntrpy_chldrn_s_   0.000 -0.537  0.000                   
## grpASD:tskntrpy_chldrn_v_ -0.559  0.337  0.582                   
## grpTD:tskntrpy_chldrn_v_   0.000 -0.480  0.000                   
## grpASD:tskntrpy_chldrn_t_ -0.625  0.377  0.628                   
## grpTD:tskntrpy_chldrn_t_   0.000 -0.499  0.000                   
##                           grpTD:tskntrpy_chldrn_s_
## groupTD                                           
## grpASD:tskntrpy_chldrn_s_                         
## grpTD:tskntrpy_chldrn_s_                          
## grpASD:tskntrpy_chldrn_v_  0.000                  
## grpTD:tskntrpy_chldrn_v_   0.587                  
## grpASD:tskntrpy_chldrn_t_  0.000                  
## grpTD:tskntrpy_chldrn_t_   0.594                  
##                           grpASD:tskntrpy_chldrn_v_
## groupTD                                            
## grpASD:tskntrpy_chldrn_s_                          
## grpTD:tskntrpy_chldrn_s_                           
## grpASD:tskntrpy_chldrn_v_                          
## grpTD:tskntrpy_chldrn_v_   0.000                   
## grpASD:tskntrpy_chldrn_t_  0.295                   
## grpTD:tskntrpy_chldrn_t_   0.000                   
##                           grpTD:tskntrpy_chldrn_v_
## groupTD                                           
## grpASD:tskntrpy_chldrn_s_                         
## grpTD:tskntrpy_chldrn_s_                          
## grpASD:tskntrpy_chldrn_v_                         
## grpTD:tskntrpy_chldrn_v_                          
## grpASD:tskntrpy_chldrn_t_  0.000                  
## grpTD:tskntrpy_chldrn_t_   0.322                  
##                           grpASD:tskntrpy_chldrn_t_
## groupTD                                            
## grpASD:tskntrpy_chldrn_s_                          
## grpTD:tskntrpy_chldrn_s_                           
## grpASD:tskntrpy_chldrn_v_                          
## grpTD:tskntrpy_chldrn_v_                           
## grpASD:tskntrpy_chldrn_t_                          
## grpTD:tskntrpy_chldrn_t_   0.000                   
## convergence code: 0
## Model is nearly unidentifiable: large eigenvalue ratio
##  - Rescale variables?
m2_ent <- lmer(value~group:task + group + (1 | part_id), data = crossed_random_effect_entropy_long)
summary(m2_ent)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: value ~ group:task + group + (1 | part_id)
##    Data: crossed_random_effect_entropy_long
## 
## REML criterion at convergence: 486
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -4.1355 -0.3430  0.2051  0.5820  1.6927 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  part_id  (Intercept) 0.2319   0.4816  
##  Residual             0.7706   0.8778  
## Number of obs: 174, groups:  part_id, 52
## 
## Fixed effects:
##                                            Estimate Std. Error        df
## (Intercept)                                 0.16172    0.19162 151.99008
## groupTD                                    -0.43684    0.31955 155.51632
## groupASD:taskentropy_children_ssl_entropy  -0.13462    0.23621 121.95264
## groupTD:taskentropy_children_ssl_entropy    0.23361    0.33412 133.62360
## groupASD:taskentropy_children_vsl_entropy  -0.03138    0.23786 121.04237
## groupTD:taskentropy_children_vsl_entropy    0.08322    0.31704 131.10348
## groupASD:taskentropy_children_tsl_entropy  -0.09215    0.23872 123.31929
## groupTD:taskentropy_children_tsl_entropy    0.15771    0.31885 125.88148
##                                           t value Pr(>|t|)
## (Intercept)                                 0.844    0.400
## groupTD                                    -1.367    0.174
## groupASD:taskentropy_children_ssl_entropy  -0.570    0.570
## groupTD:taskentropy_children_ssl_entropy    0.699    0.486
## groupASD:taskentropy_children_vsl_entropy  -0.132    0.895
## groupTD:taskentropy_children_vsl_entropy    0.263    0.793
## groupASD:taskentropy_children_tsl_entropy  -0.386    0.700
## groupTD:taskentropy_children_tsl_entropy    0.495    0.622
## 
## Correlation of Fixed Effects:
##                           (Intr) gropTD grpASD:tskntrpy_chldrn_s_
## groupTD                   -0.600                                 
## grpASD:tskntrpy_chldrn_s_ -0.642  0.385                          
## grpTD:tskntrpy_chldrn_s_   0.000 -0.503  0.000                   
## grpASD:tskntrpy_chldrn_v_ -0.634  0.380  0.514                   
## grpTD:tskntrpy_chldrn_v_   0.000 -0.531  0.000                   
## grpASD:tskntrpy_chldrn_t_ -0.637  0.382  0.513                   
## grpTD:tskntrpy_chldrn_t_   0.000 -0.517  0.000                   
##                           grpTD:tskntrpy_chldrn_s_
## groupTD                                           
## grpASD:tskntrpy_chldrn_s_                         
## grpTD:tskntrpy_chldrn_s_                          
## grpASD:tskntrpy_chldrn_v_  0.000                  
## grpTD:tskntrpy_chldrn_v_   0.512                  
## grpASD:tskntrpy_chldrn_t_  0.000                  
## grpTD:tskntrpy_chldrn_t_   0.491                  
##                           grpASD:tskntrpy_chldrn_v_
## groupTD                                            
## grpASD:tskntrpy_chldrn_s_                          
## grpTD:tskntrpy_chldrn_s_                           
## grpASD:tskntrpy_chldrn_v_                          
## grpTD:tskntrpy_chldrn_v_   0.000                   
## grpASD:tskntrpy_chldrn_t_  0.506                   
## grpTD:tskntrpy_chldrn_t_   0.000                   
##                           grpTD:tskntrpy_chldrn_v_
## groupTD                                           
## grpASD:tskntrpy_chldrn_s_                         
## grpTD:tskntrpy_chldrn_s_                          
## grpASD:tskntrpy_chldrn_v_                         
## grpTD:tskntrpy_chldrn_v_                          
## grpASD:tskntrpy_chldrn_t_  0.000                  
## grpTD:tskntrpy_chldrn_t_   0.523                  
##                           grpASD:tskntrpy_chldrn_t_
## groupTD                                            
## grpASD:tskntrpy_chldrn_s_                          
## grpTD:tskntrpy_chldrn_s_                           
## grpASD:tskntrpy_chldrn_v_                          
## grpTD:tskntrpy_chldrn_v_                           
## grpASD:tskntrpy_chldrn_t_                          
## grpTD:tskntrpy_chldrn_t_   0.000
anova(m1_ent, m2_ent)
## refitting model(s) with ML (instead of REML)
## Data: crossed_random_effect_entropy_long
## Models:
## m2_ent: value ~ group:task + group + (1 | part_id)
## m1_ent: value ~ group:task + group + (1 + task | part_id)
##        Df    AIC    BIC  logLik deviance Chisq Chi Df Pr(>Chisq)
## m2_ent 10 495.77 527.36 -237.89   475.77                        
## m1_ent 19 502.93 562.95 -232.47   464.93 10.84      9     0.2868

Run LMER for mean rt

m1_rt = lmer(value~group:task + group  + (1+task|part_id),
          data=crossed_random_effect_rt_long,
          control=lmerControl(optimizer = "bobyqa",
                              check.nobs.vs.nRE="ignore"))
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model is nearly unidentifiable: large eigenvalue ratio
##  - Rescale variables?
summary(m1_rt)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: value ~ group:task + group + (1 + task | part_id)
##    Data: crossed_random_effect_rt_long
## Control: lmerControl(optimizer = "bobyqa", check.nobs.vs.nRE = "ignore")
## 
## REML criterion at convergence: 463.6
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.5851 -0.4264  0.0149  0.4241  1.5301 
## 
## Random effects:
##  Groups   Name                          Variance Std.Dev. Corr       
##  part_id  (Intercept)                   0.6422   0.8014              
##           taskrt_children_ssl_indiv_rts 1.8238   1.3505   -0.84      
##           taskrt_children_tsl_indiv_rts 1.2626   1.1236   -0.76  0.48
##           taskrt_children_vsl_indiv_rts 0.6539   0.8086   -0.50  0.63
##  Residual                               0.3683   0.6069              
##       
##       
##       
##       
##   0.71
##       
## Number of obs: 169, groups:  part_id, 50
## 
## Fixed effects:
##                                        Estimate Std. Error       df
## (Intercept)                             0.08056    0.19204 41.03480
## groupTD                                -0.14832    0.31920 41.85871
## groupASD:taskrt_children_ssl_indiv_rts -0.15328    0.30378 41.70050
## groupTD:taskrt_children_ssl_indiv_rts   0.23084    0.40468 48.44549
## groupASD:taskrt_children_tsl_indiv_rts -0.31196    0.27266 40.33388
## groupTD:taskrt_children_tsl_indiv_rts   0.46181    0.36216 43.67815
## groupASD:taskrt_children_vsl_indiv_rts -0.02088    0.22574 38.79820
## groupTD:taskrt_children_vsl_indiv_rts  -0.07518    0.30106 45.14488
##                                        t value Pr(>|t|)
## (Intercept)                              0.420    0.677
## groupTD                                 -0.465    0.645
## groupASD:taskrt_children_ssl_indiv_rts  -0.505    0.617
## groupTD:taskrt_children_ssl_indiv_rts    0.570    0.571
## groupASD:taskrt_children_tsl_indiv_rts  -1.144    0.259
## groupTD:taskrt_children_tsl_indiv_rts    1.275    0.209
## groupASD:taskrt_children_vsl_indiv_rts  -0.092    0.927
## groupTD:taskrt_children_vsl_indiv_rts   -0.250    0.804
## 
## Correlation of Fixed Effects:
##                         (Intr) gropTD grpASD:tskrt_chldrn_s__
## groupTD                 -0.602                               
## grpASD:tskrt_chldrn_s__ -0.789  0.474                        
## grpTD:tskrt_chldrn_s__   0.000 -0.615  0.000                 
## grpASD:tskrt_chldrn_t__ -0.736  0.443  0.483                 
## grpTD:tskrt_chldrn_t__   0.000 -0.596  0.000                 
## grpASD:tskrt_chldrn_v__ -0.598  0.360  0.559                 
## grpTD:tskrt_chldrn_v__   0.000 -0.505  0.000                 
##                         grpTD:tskrt_chldrn_s__ grpASD:tskrt_chldrn_t__
## groupTD                                                               
## grpASD:tskrt_chldrn_s__                                               
## grpTD:tskrt_chldrn_s__                                                
## grpASD:tskrt_chldrn_t__  0.000                                        
## grpTD:tskrt_chldrn_t__   0.494                  0.000                 
## grpASD:tskrt_chldrn_v__  0.000                  0.604                 
## grpTD:tskrt_chldrn_v__   0.568                  0.000                 
##                         grpTD:tskrt_chldrn_t__ grpASD:tskrt_chldrn_v__
## groupTD                                                               
## grpASD:tskrt_chldrn_s__                                               
## grpTD:tskrt_chldrn_s__                                                
## grpASD:tskrt_chldrn_t__                                               
## grpTD:tskrt_chldrn_t__                                                
## grpASD:tskrt_chldrn_v__  0.000                                        
## grpTD:tskrt_chldrn_v__   0.613                  0.000                 
## convergence code: 0
## Model is nearly unidentifiable: large eigenvalue ratio
##  - Rescale variables?
m2_rt <- lmer(value~task*group + (1 | part_id), data = crossed_random_effect_rt_long)
summary(m2_rt)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: value ~ task * group + (1 | part_id)
##    Data: crossed_random_effect_rt_long
## 
## REML criterion at convergence: 479.2
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.91925 -0.52512  0.00353  0.59411  2.63835 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  part_id  (Intercept) 0.04861  0.2205  
##  Residual             0.94317  0.9712  
## Number of obs: 169, groups:  part_id, 50
## 
## Fixed effects:
##                                         Estimate Std. Error         df
## (Intercept)                            8.079e-02  1.916e-01  1.602e+02
## taskrt_children_ssl_indiv_rts         -1.733e-01  2.648e-01  1.180e+02
## taskrt_children_tsl_indiv_rts         -3.058e-01  2.672e-01  1.168e+02
## taskrt_children_vsl_indiv_rts          3.417e-04  2.623e-01  1.168e+02
## groupTD                               -2.130e-01  3.206e-01  1.604e+02
## taskrt_children_ssl_indiv_rts:groupTD  4.807e-01  4.493e-01  1.256e+02
## taskrt_children_tsl_indiv_rts:groupTD  8.494e-01  4.449e-01  1.204e+02
## taskrt_children_vsl_indiv_rts:groupTD -9.503e-03  4.338e-01  1.228e+02
##                                       t value Pr(>|t|)  
## (Intercept)                             0.422   0.6739  
## taskrt_children_ssl_indiv_rts          -0.655   0.5140  
## taskrt_children_tsl_indiv_rts          -1.145   0.2547  
## taskrt_children_vsl_indiv_rts           0.001   0.9990  
## groupTD                                -0.664   0.5074  
## taskrt_children_ssl_indiv_rts:groupTD   1.070   0.2867  
## taskrt_children_tsl_indiv_rts:groupTD   1.909   0.0586 .
## taskrt_children_vsl_indiv_rts:groupTD  -0.022   0.9826  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                     (Intr) tskrt_chldrn_s__ tskrt_chldrn_t__
## tskrt_chldrn_s__    -0.691                                  
## tskrt_chldrn_t__    -0.683  0.495                           
## tskrt_chldrn_v__    -0.697  0.505            0.499          
## groupTD             -0.598  0.413            0.409          
## tskrt_chldrn_s__:TD  0.407 -0.589           -0.291          
## tskrt_chldrn_t__:TD  0.410 -0.297           -0.601          
## tskrt_chldrn_v__:TD  0.422 -0.305           -0.302          
##                     tskrt_chldrn_v__ gropTD tskrt_chldrn_s__:TD
## tskrt_chldrn_s__                                               
## tskrt_chldrn_t__                                               
## tskrt_chldrn_v__                                               
## groupTD              0.417                                     
## tskrt_chldrn_s__:TD -0.297           -0.684                    
## tskrt_chldrn_t__:TD -0.300           -0.689  0.491             
## tskrt_chldrn_v__:TD -0.605           -0.709  0.507             
##                     tskrt_chldrn_t__:TD
## tskrt_chldrn_s__                       
## tskrt_chldrn_t__                       
## tskrt_chldrn_v__                       
## groupTD                                
## tskrt_chldrn_s__:TD                    
## tskrt_chldrn_t__:TD                    
## tskrt_chldrn_v__:TD  0.509
anova(m1_rt, m2_rt)
## refitting model(s) with ML (instead of REML)
## Data: crossed_random_effect_rt_long
## Models:
## m2_rt: value ~ task * group + (1 | part_id)
## m1_rt: value ~ group:task + group + (1 + task | part_id)
##       Df    AIC    BIC  logLik deviance  Chisq Chi Df Pr(>Chisq)  
## m2_rt 10 489.50 520.80 -234.75   469.50                           
## m1_rt 19 491.05 550.51 -226.52   453.05 16.453      9    0.05799 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Run LMER for rt slope

m1_slope = lmer(rt_slope~group:task + group  + (1+task|part_id),
          data=bucld_all_completed_slope,
          control=lmerControl(optimizer = "bobyqa",
                              check.nobs.vs.nRE="ignore"))
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl =
## control$checkConv, : unable to evaluate scaled gradient
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl =
## control$checkConv, : Model failed to converge: degenerate Hessian with 1
## negative eigenvalues
## Warning: Model failed to converge with 1 negative eigenvalue: -2.0e-06
summary(m1_slope)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: rt_slope ~ group:task + group + (1 + task | part_id)
##    Data: bucld_all_completed_slope
## Control: lmerControl(optimizer = "bobyqa", check.nobs.vs.nRE = "ignore")
## 
## REML criterion at convergence: -621.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.6847 -0.3872  0.0265  0.4464  2.4481 
## 
## Random effects:
##  Groups   Name                                   Variance  Std.Dev. Corr 
##  part_id  (Intercept)                            0.0019277 0.04391       
##           taskslope_children_ssl_indiv_rts_slope 0.0022965 0.04792  -0.96
##           taskslope_children_tsl_indiv_rts_slope 0.0019932 0.04464  -0.99
##           taskslope_children_vsl_indiv_rts_slope 0.0023536 0.04851  -0.68
##  Residual                                        0.0004418 0.02102       
##             
##             
##             
##   0.93      
##   0.64  0.60
##             
## Number of obs: 169, groups:  part_id, 50
## 
## Fixed effects:
##                                                  Estimate Std. Error
## (Intercept)                                      0.004309   0.009350
## groupTD                                         -0.025104   0.015607
## groupASD:taskslope_children_ssl_indiv_rts_slope -0.013581   0.010811
## groupTD:taskslope_children_ssl_indiv_rts_slope   0.007214   0.014489
## groupASD:taskslope_children_tsl_indiv_rts_slope -0.005999   0.010330
## groupTD:taskslope_children_tsl_indiv_rts_slope   0.020242   0.013743
## groupASD:taskslope_children_vsl_indiv_rts_slope -0.013179   0.010929
## groupTD:taskslope_children_vsl_indiv_rts_slope   0.035408   0.014614
##                                                        df t value Pr(>|t|)
## (Intercept)                                     40.537953   0.461   0.6474
## groupTD                                         40.782043  -1.609   0.1154
## groupASD:taskslope_children_ssl_indiv_rts_slope 41.118220  -1.256   0.2161
## groupTD:taskslope_children_ssl_indiv_rts_slope  46.441406   0.498   0.6209
## groupASD:taskslope_children_tsl_indiv_rts_slope 40.553114  -0.581   0.5646
## groupTD:taskslope_children_tsl_indiv_rts_slope  42.925980   1.473   0.1481
## groupASD:taskslope_children_vsl_indiv_rts_slope 40.894940  -1.206   0.2348
## groupTD:taskslope_children_vsl_indiv_rts_slope  46.199084   2.423   0.0194
##                                                  
## (Intercept)                                      
## groupTD                                          
## groupASD:taskslope_children_ssl_indiv_rts_slope  
## groupTD:taskslope_children_ssl_indiv_rts_slope   
## groupASD:taskslope_children_tsl_indiv_rts_slope  
## groupTD:taskslope_children_tsl_indiv_rts_slope   
## groupASD:taskslope_children_vsl_indiv_rts_slope  
## groupTD:taskslope_children_vsl_indiv_rts_slope  *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                           (Intr) gropTD grpASD:tskslp_chldrn_s___
## groupTD                   -0.599                                 
## grpASD:tskslp_chldrn_s___ -0.898  0.538                          
## grpTD:tskslp_chldrn_s___   0.000 -0.713  0.000                   
## grpASD:tskslp_chldrn_t___ -0.907  0.543  0.800                   
## grpTD:tskslp_chldrn_t___   0.000 -0.728  0.000                   
## grpASD:tskslp_chldrn_v___ -0.698  0.418  0.612                   
## grpTD:tskslp_chldrn_v___   0.000 -0.580  0.000                   
##                           grpTD:tskslp_chldrn_s___
## groupTD                                           
## grpASD:tskslp_chldrn_s___                         
## grpTD:tskslp_chldrn_s___                          
## grpASD:tskslp_chldrn_t___  0.000                  
## grpTD:tskslp_chldrn_t___   0.798                  
## grpASD:tskslp_chldrn_v___  0.000                  
## grpTD:tskslp_chldrn_v___   0.631                  
##                           grpASD:tskslp_chldrn_t___
## groupTD                                            
## grpASD:tskslp_chldrn_s___                          
## grpTD:tskslp_chldrn_s___                           
## grpASD:tskslp_chldrn_t___                          
## grpTD:tskslp_chldrn_t___   0.000                   
## grpASD:tskslp_chldrn_v___  0.580                   
## grpTD:tskslp_chldrn_v___   0.000                   
##                           grpTD:tskslp_chldrn_t___
## groupTD                                           
## grpASD:tskslp_chldrn_s___                         
## grpTD:tskslp_chldrn_s___                          
## grpASD:tskslp_chldrn_t___                         
## grpTD:tskslp_chldrn_t___                          
## grpASD:tskslp_chldrn_v___  0.000                  
## grpTD:tskslp_chldrn_v___   0.614                  
##                           grpASD:tskslp_chldrn_v___
## groupTD                                            
## grpASD:tskslp_chldrn_s___                          
## grpTD:tskslp_chldrn_s___                           
## grpASD:tskslp_chldrn_t___                          
## grpTD:tskslp_chldrn_t___                           
## grpASD:tskslp_chldrn_v___                          
## grpTD:tskslp_chldrn_v___   0.000                   
## convergence code: 0
## unable to evaluate scaled gradient
## Model failed to converge: degenerate  Hessian with 1 negative eigenvalues
m2_slope <- lmer(rt_slope~group:task + group  + (1 | part_id), data = bucld_all_completed_slope)
summary(m2_slope)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: rt_slope ~ group:task + group + (1 | part_id)
##    Data: bucld_all_completed_slope
## 
## REML criterion at convergence: -583.9
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.78214 -0.51160  0.01622  0.65299  2.37820 
## 
## Random effects:
##  Groups   Name        Variance  Std.Dev.
##  part_id  (Intercept) 2.212e-05 0.004703
##  Residual             1.320e-03 0.036333
## Number of obs: 169, groups:  part_id, 50
## 
## Fixed effects:
##                                                   Estimate Std. Error
## (Intercept)                                       0.004083   0.007050
## groupTD                                          -0.025151   0.011797
## groupASD:taskslope_children_ssl_indiv_rts_slope  -0.013387   0.009894
## groupTD:taskslope_children_ssl_indiv_rts_slope    0.007346   0.013528
## groupASD:taskslope_children_tsl_indiv_rts_slope  -0.004989   0.009988
## groupTD:taskslope_children_tsl_indiv_rts_slope    0.021107   0.013281
## groupASD:taskslope_children_vsl_indiv_rts_slope  -0.013174   0.009804
## groupTD:taskslope_children_vsl_indiv_rts_slope    0.036026   0.012890
##                                                         df t value
## (Intercept)                                     160.909885   0.579
## groupTD                                         160.938397  -2.132
## groupASD:taskslope_children_ssl_indiv_rts_slope 120.186965  -1.353
## groupTD:taskslope_children_ssl_indiv_rts_slope  131.217315   0.543
## groupASD:taskslope_children_tsl_indiv_rts_slope 119.041515  -0.499
## groupTD:taskslope_children_tsl_indiv_rts_slope  124.255408   1.589
## groupASD:taskslope_children_vsl_indiv_rts_slope 118.948847  -1.344
## groupTD:taskslope_children_vsl_indiv_rts_slope  127.833987   2.795
##                                                 Pr(>|t|)   
## (Intercept)                                      0.56329   
## groupTD                                          0.03453 * 
## groupASD:taskslope_children_ssl_indiv_rts_slope  0.17860   
## groupTD:taskslope_children_ssl_indiv_rts_slope   0.58805   
## groupASD:taskslope_children_tsl_indiv_rts_slope  0.61836   
## groupTD:taskslope_children_tsl_indiv_rts_slope   0.11454   
## groupASD:taskslope_children_vsl_indiv_rts_slope  0.18160   
## groupTD:taskslope_children_vsl_indiv_rts_slope   0.00599 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                           (Intr) gropTD grpASD:tskslp_chldrn_s___
## groupTD                   -0.598                                 
## grpASD:tskslp_chldrn_s___ -0.702  0.419                          
## grpTD:tskslp_chldrn_s___   0.000 -0.553  0.000                   
## grpASD:tskslp_chldrn_t___ -0.695  0.415  0.495                   
## grpTD:tskslp_chldrn_t___   0.000 -0.563  0.000                   
## grpASD:tskslp_chldrn_v___ -0.708  0.423  0.505                   
## grpTD:tskslp_chldrn_v___   0.000 -0.581  0.000                   
##                           grpTD:tskslp_chldrn_s___
## groupTD                                           
## grpASD:tskslp_chldrn_s___                         
## grpTD:tskslp_chldrn_s___                          
## grpASD:tskslp_chldrn_t___  0.000                  
## grpTD:tskslp_chldrn_t___   0.490                  
## grpASD:tskslp_chldrn_v___  0.000                  
## grpTD:tskslp_chldrn_v___   0.507                  
##                           grpASD:tskslp_chldrn_t___
## groupTD                                            
## grpASD:tskslp_chldrn_s___                          
## grpTD:tskslp_chldrn_s___                           
## grpASD:tskslp_chldrn_t___                          
## grpTD:tskslp_chldrn_t___   0.000                   
## grpASD:tskslp_chldrn_v___  0.500                   
## grpTD:tskslp_chldrn_v___   0.000                   
##                           grpTD:tskslp_chldrn_t___
## groupTD                                           
## grpASD:tskslp_chldrn_s___                         
## grpTD:tskslp_chldrn_s___                          
## grpASD:tskslp_chldrn_t___                         
## grpTD:tskslp_chldrn_t___                          
## grpASD:tskslp_chldrn_v___  0.000                  
## grpTD:tskslp_chldrn_v___   0.515                  
##                           grpASD:tskslp_chldrn_v___
## groupTD                                            
## grpASD:tskslp_chldrn_s___                          
## grpTD:tskslp_chldrn_s___                           
## grpASD:tskslp_chldrn_t___                          
## grpTD:tskslp_chldrn_t___                           
## grpASD:tskslp_chldrn_v___                          
## grpTD:tskslp_chldrn_v___   0.000
anova(m1_slope, m2_slope)
## refitting model(s) with ML (instead of REML)
## Data: bucld_all_completed_slope
## Models:
## m2_slope: rt_slope ~ group:task + group + (1 | part_id)
## m1_slope: rt_slope ~ group:task + group + (1 + task | part_id)
##          Df     AIC     BIC logLik deviance  Chisq Chi Df Pr(>Chisq)    
## m2_slope 10 -626.33 -595.03 323.16  -646.33                             
## m1_slope 19 -648.37 -588.90 343.18  -686.37 40.038      9  7.479e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
write.csv(bucld_all_completed_slope, "bucld_all_completed_slope_use_this_poster.csv")

Accuracy Anova (Ignore)

library("ez")
ezDesign(bucld_all_completed_acc, part_id, task)

all_complete <-
  cast(bucld_all_completed_acc, part_id~modality+domain, value = "task", length)

all_complete_id <-
  all_complete[which(all_complete$auditory_ling == 1 & all_complete$auditory_nonling == 1 & 
  all_complete$visual_ling == 1 & all_complete$visual_nonling == 1), "part_id"]

bucld_acc_anova <-
  bucld_all_completed_acc[which(bucld_all_completed_acc$part_id %in% all_complete_id),]

#simplied_subj <- str_extract(bucld_all_completed_acc$part_id, "(?<=c_)\\S+")
#test <- cbind(simplied_subj, bucld_all_completed_acc)
ezDesign(bucld_acc_anova, part_id, task)

# temp = as.data.frame(table(bucld_all_completed_acc$part_id))
# rm_id <- temp[temp$Freq<2,]$Var1
# bucld_all_completed_acc <- bucld_all_completed_acc[-which(bucld_all_completed_acc$part_id %in% rm_id),]

ezANOVA(data=bucld_acc_anova, 
          dv=.(accuracy), 
          wid=.(part_id), 
          between=.(group),
          within=.(domain, modality), 
          between_covariates = age_at_web_year,
          type = 3
         ) 

 ezANOVA(data=bucld_acc_anova, 
          dv=.(accuracy), 
          wid=.(part_id), 
          between=.(group),
          within=.(task), 
          between_covariates = age_at_web_year,
          type = 3
         )

all_completed_acc_id <- unique(bucld_acc_anova$part_id)
all_completed_acc_id <- as.data.frame(all_completed_acc_id)


anova_demo <- 
  merge(bucld_demo_all[,c("part_id", "group", "sex", "age_at_web_year")], all_completed_acc_id, 
      by.x = "part_id", by.y = "all_completed_acc_id",  
      all.y = TRUE)

Anova demographic (ignore)

Entropy Anova (Ignore)

RT Anova (Ignore)

Slope Anova (Ignore)

Accuracy against chance for TD and ASD

t_test_against_chance <- 
  function(x){
  test <- t.test(x, mu=0.5, alternative= "greater")
  data.frame(p_value = test$p.value,
             df = test$parameter,
             t_stat = test$statistic)
  }

#TD without outliers
sapply(colnames(td_sl)[c(6:10, 25)], 
       function(x) t_test_against_chance(td_sl[,x]))
##         accuracy_children_lsl_random_2afc_accuracies
## p_value 0.01241873                                  
## df      10                                          
## t_stat  2.637567                                    
##         accuracy_children_ssl_accuracies accuracy_children_tsl_accuracies
## p_value 0.0515594                        0.0111262                       
## df      13                               15                              
## t_stat  1.753091                         2.548765                        
##         accuracy_children_vsl_accuracies
## p_value 0.01733192                      
## df      16                              
## t_stat  2.30846                         
##         accuracy_lsl_predictable_2afc_accuracies
## p_value 0.04269954                              
## df      3                                       
## t_stat  2.530335                                
##         accuracy_children_lsl_accuracies
## p_value 0.001450041                     
## df      14                              
## t_stat  3.599722
#ASD without outliers
sapply(colnames(asd_sl)[c(6:10, 25)], 
       function(x) t_test_against_chance(asd_sl[,x]))
##         accuracy_children_lsl_random_2afc_accuracies
## p_value 0.9274642                                   
## df      11                                          
## t_stat  -1.568463                                   
##         accuracy_children_ssl_accuracies accuracy_children_tsl_accuracies
## p_value 0.4364282                        0.01961443                      
## df      28                               27                              
## t_stat  0.1615036                        2.166952                        
##         accuracy_children_vsl_accuracies
## p_value 0.03890788                      
## df      27                              
## t_stat  1.833235                        
##         accuracy_lsl_predictable_2afc_accuracies
## p_value 0.1491112                               
## df      14                                      
## t_stat  1.080406                                
##         accuracy_children_lsl_accuracies
## p_value 0.4994865                       
## df      26                              
## t_stat  0.001299628

TD: marginally significant above chance for SSL accuracy (p = 0.052). Above chance for other tasks. LSL (p < 0.01). TSL, VSL (p <0.05)

ASD: Only VSL (p < 0.05) and TSL (marginal, p = 0.07) above chance.

In the bigger sample, TSL was significantly above chance.

Accuracy Line Plot (no outliers)

library(plyr)
## -------------------------------------------------------------------------
## You have loaded plyr after dplyr - this is likely to cause problems.
## If you need functions from both plyr and dplyr, please load plyr first, then dplyr:
## library(plyr); library(dplyr)
## -------------------------------------------------------------------------
## 
## Attaching package: 'plyr'
## The following objects are masked from 'package:dplyr':
## 
##     arrange, count, desc, failwith, id, mutate, rename, summarise,
##     summarize
## The following objects are masked from 'package:reshape':
## 
##     rename, round_any
library(dplyr)
library(ggplot2)
library(data.table)

library("pastecs")

stat_desc <- 
function(df,group,task) {
  stat.desc(df[which(df$group == group & df$variable == task),])
}

bucld_sl_bar_all_long <- melt(bucld_sl_bar_all, id.vars=c("part_id", "group"))

bucld_sl_bar_acc <-
  bucld_sl_bar_all_long[which(str_detect(
    bucld_sl_bar_all_long$variable, "(?<=accuracy_children_)\\S{3}(?=_accuracies)")),]

bucld_sl_bar_acc$variable <-
revalue(bucld_sl_bar_acc$variable, c("accuracy_children_lsl_accuracies"="Letter",
                                     "accuracy_children_vsl_accuracies"="Image",
                                     "accuracy_children_tsl_accuracies"="Tone",
                                     "accuracy_children_ssl_accuracies"="Syllable"))

bucld_sl_bar_acc$variable <- 
  factor(bucld_sl_bar_acc$variable,levels = c("Image", 
                                              "Letter", 
                                              "Tone", 
                                              "Syllable"))

bucld_sl_bar_acc <-
  bucld_sl_bar_acc[order(bucld_sl_bar_acc$variable), ]

bucld_sl_bar_acc$value <- 
  as.numeric(as.character(bucld_sl_bar_acc$value))

td_tone <- stat_desc(bucld_sl_bar_acc, "TD", "Tone")
td_syllable <- stat_desc(bucld_sl_bar_acc, "TD", "Syllable")
td_image <- stat_desc(bucld_sl_bar_acc, "TD", "Image")
td_letter <- stat_desc(bucld_sl_bar_acc, "TD", "Letter")
asd_tone <- stat_desc(bucld_sl_bar_acc, "ASD", "Tone")
asd_syllable <- stat_desc(bucld_sl_bar_acc, "ASD", "Syllable")
asd_image <- stat_desc(bucld_sl_bar_acc, "ASD", "Image")
asd_letter <- stat_desc(bucld_sl_bar_acc, "ASD", "Letter") 

extract_line_graph_stat <- function (x, group, task) {
y <- x[c("nbr.val","mean", "SE.mean", "std.dev"),"value"]
dim(y) <- c(4, 1)
y <- t(y)
colnames(y) <- c("n", "mean", "std_error", "sd")
y <- data.frame(y)
y$group <- group
y$task <- task


return(y)
}

td_tone_stat <- extract_line_graph_stat(td_tone, "TD", "Tone")
td_syllable_stat <- extract_line_graph_stat(td_syllable, "TD", "Syllable")
td_image_stat <- extract_line_graph_stat(td_image, "TD", "Image")
td_letter_stat <- extract_line_graph_stat(td_letter, "TD", "Letter")

asd_tone_stat <- extract_line_graph_stat(asd_tone, "ASD", "Tone")
asd_syllable_stat <- extract_line_graph_stat(asd_syllable, "ASD", "Syllable")
asd_image_stat <- extract_line_graph_stat(asd_image, "ASD", "Image")
asd_letter_stat <- extract_line_graph_stat(asd_letter, "ASD", "Letter")


acc_stat <- rbind(td_tone_stat, td_syllable_stat, td_image_stat, td_letter_stat, 
                  asd_tone_stat, asd_syllable_stat, asd_image_stat, asd_letter_stat)

colnames(acc_stat)[colnames(acc_stat) == "group"] <- "Group"

acc_stat$task <- 
  factor(acc_stat$task,levels = c("Image", 
                                              "Letter", 
                                              "Tone", 
                                              "Syllable"))

acc_stat <-
  acc_stat[order(acc_stat$task), ]

cast(acc_stat, task~Group, value = "mean")
##       task       ASD        TD
## 1    Image 0.5535714 0.6085882
## 2   Letter 0.5000370 0.6498667
## 3     Tone 0.5535714 0.5957500
## 4 Syllable 0.5021379 0.5447143
cast(acc_stat, task~Group, value = "sd")
##       task        ASD         TD
## 1    Image 0.15463013 0.19394782
## 2   Letter 0.14808092 0.16124332
## 3     Tone 0.13081665 0.15026887
## 4 Syllable 0.07128701 0.09543458
pd <- position_dodge(width = 0.2)

acc_stat %>%
  ggplot(aes(x = task, y = mean, group = Group)) +
  geom_line(aes(linetype = Group, color = Group), position = pd, size = 1.8) +
   geom_errorbar(aes(ymin = mean - std_error, ymax = mean + std_error), width = .1, position = pd) +
     geom_point(aes(color = Group), size = 4, position = pd,show.legend = FALSE) + 
          geom_point(size = 3, color = "white", position = pd) +
      labs(title = "Behavioral Accuracy across Groups",
         x = "SL Task",  # Change x-axis label
         y = "Mean Accuracy") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(
        plot.title = element_text(size=16, face="bold"),
        axis.title.x = element_text(size=14, face="bold"),
        axis.title.y = element_text(size=14, face="bold"),
        axis.text=element_text(size=12, face = "bold")
        ) +
  theme(legend.text=element_text(size=14, face="bold"),
        legend.title=element_text(size=15, face="bold")) +
   theme(
    panel.background = element_rect(fill = "white"),         # Set plot background to white
    legend.key  = element_rect(fill = "white"),              # Set legend item backgrounds to white
    axis.line.x = element_line(colour = "black", size = 1),  # Add line to x axis
    axis.line.y = element_line(colour = "black", size = 1)   # Add line to y axis
  ) +
  geom_hline(yintercept=0.5, color = "grey") +
  geom_text(aes(x= 1, y = 0.505, label = paste0("chance", "-level")), size=5) +
  geom_text(aes(x= 2.05, y = 0.7, label = paste0("**")), size=7, color="#00BFC4") +
  geom_text(aes(x= 3.05, y = 0.7, label = paste0("†")), size=7, color="#00BFC4") +
  geom_text(aes(x= 1.05, y = 0.7, label = paste0("*")), size=7, color="#00BFC4") +
  geom_text(aes(x= 4.05, y = 0.7, label = paste0("*")), size=7, color="#00BFC4") +
  geom_text(aes(x= 0.95, y = 0.52, label = paste0("*")), size=7, color="#F8766d") +
   geom_text(aes(x= 2.95, y = 0.52, label = paste0("*")), size=7, color="#F8766d")

# ggsave("behavioral_acc_across_group.png",
#        bg="transparent",
#        width = 15, height = 15, units = "cm")

Scaled Accuracy Line Plot

library(plyr)
library(dplyr)
library(ggplot2)
library(data.table)

library("pastecs")


bucld_sl_bar_acc <-
  crossed_random_effect_acc_long[which(str_detect(
    crossed_random_effect_acc_long$task, "(?<=accuracy_children_)\\S{3}(?=_accuracies)")),]

bucld_sl_bar_acc$task <-
revalue(bucld_sl_bar_acc$task, c("accuracy_children_lsl_accuracies"="Letter",
                                     "accuracy_children_vsl_accuracies"="Image",
                                     "accuracy_children_tsl_accuracies"="Tone",
                                     "accuracy_children_ssl_accuracies"="Syllable"))

bucld_sl_bar_acc$task <- 
  factor(bucld_sl_bar_acc$task,levels = c("Image", 
                                              "Letter", 
                                              "Tone", 
                                              "Syllable"))

bucld_sl_bar_acc <-
  bucld_sl_bar_acc[order(bucld_sl_bar_acc$task), ]

bucld_sl_bar_acc$value <- 
  as.numeric(as.character(bucld_sl_bar_acc$value))

stat_desc <- 
function(df,group,task) {
  stat.desc(df[which(df$group == group & df[,"task"] == task),])
}

td_tone <- stat_desc(bucld_sl_bar_acc, "TD", "Tone")
td_syllable <- stat_desc(bucld_sl_bar_acc, "TD", "Syllable")
td_image <- stat_desc(bucld_sl_bar_acc, "TD", "Image")
td_letter <- stat_desc(bucld_sl_bar_acc, "TD", "Letter")
asd_tone <- stat_desc(bucld_sl_bar_acc, "ASD", "Tone")
asd_syllable <- stat_desc(bucld_sl_bar_acc, "ASD", "Syllable")
asd_image <- stat_desc(bucld_sl_bar_acc, "ASD", "Image")
asd_letter <- stat_desc(bucld_sl_bar_acc, "ASD", "Letter") 

extract_line_graph_stat <- function (x, group, task) {
y <- x[c("nbr.val","mean", "SE.mean", "std.dev"),"value"]
dim(y) <- c(4, 1)
y <- t(y)
colnames(y) <- c("n", "mean", "std_error", "sd")
y <- data.frame(y)
y$group <- group
y$task <- task


return(y)
}

td_tone_stat <- extract_line_graph_stat(td_tone, "TD", "Tone")
td_syllable_stat <- extract_line_graph_stat(td_syllable, "TD", "Syllable")
td_image_stat <- extract_line_graph_stat(td_image, "TD", "Image")
td_letter_stat <- extract_line_graph_stat(td_letter, "TD", "Letter")

asd_tone_stat <- extract_line_graph_stat(asd_tone, "ASD", "Tone")
asd_syllable_stat <- extract_line_graph_stat(asd_syllable, "ASD", "Syllable")
asd_image_stat <- extract_line_graph_stat(asd_image, "ASD", "Image")
asd_letter_stat <- extract_line_graph_stat(asd_letter, "ASD", "Letter")


acc_stat <- rbind(td_tone_stat, td_syllable_stat, td_image_stat, td_letter_stat, 
                  asd_tone_stat, asd_syllable_stat, asd_image_stat, asd_letter_stat)

colnames(acc_stat)[colnames(acc_stat) == "group"] <- "Group"

acc_stat$task <- 
  factor(acc_stat$task,levels = c("Image", 
                                              "Letter", 
                                              "Tone", 
                                              "Syllable"))

acc_stat <-
  acc_stat[order(acc_stat$task), ]

cast(acc_stat, task~Group, value = "mean")
##       task        ASD        TD
## 1    Image -0.1218838 0.2007498
## 2   Letter -0.3194267 0.5749681
## 3     Tone -0.1111436 0.1945013
## 4 Syllable -0.1704435 0.3530614
cast(acc_stat, task~Group, value = "sd")
##       task       ASD        TD
## 1    Image 0.9067935 1.1373633
## 2   Letter 0.8839560 0.9625278
## 3     Tone 0.9479562 1.0889157
## 4 Syllable 0.8765217 1.1734322
pd <- position_dodge(width = 0.2)

acc_stat %>%
  ggplot(aes(x = task, y = mean, group = Group)) +
  geom_line(aes(linetype = Group, color = Group), position = pd, size = 1.8) +
   geom_errorbar(aes(ymin = mean - std_error, ymax = mean + std_error), width = .1, position = pd) +
     geom_point(aes(color = Group), size = 4, position = pd,show.legend = FALSE) + 
          geom_point(size = 3, color = "white", position = pd) +
      labs(title = "Behavioral Accuracy across Groups",
         x = "SL Task",  # Change x-axis label
         y = "Scaled Mean Accuracy (arbitrary unit)") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(
        plot.title = element_text(size=16, face="bold"),
        axis.title.x = element_text(size=14, face="bold"),
        axis.title.y = element_text(size=14, face="bold"),
        axis.text=element_text(size=12, face = "bold")
        ) +
  theme(legend.text=element_text(size=14, face="bold"),
        legend.title=element_text(size=15, face="bold")) +
   theme(
    panel.background = element_rect(fill = "white"),         # Set plot background to white
    legend.key  = element_rect(fill = "white"),              # Set legend item backgrounds to white
    axis.line.x = element_line(colour = "black", size = 1),  # Add line to x axis
    axis.line.y = element_line(colour = "black", size = 1)   # Add line to y axis
  ) 

# +
# geom_hline(yintercept=0.5, color = "grey") +
# geom_text(aes(x= 1, y = 0.505, label = paste0("chance", "-level")), size=5)
# +
  # geom_text(aes(x= 2.05, y = 0.7, label = paste0("**")), size=7, color="#00BFC4") +
  # geom_text(aes(x= 3.05, y = 0.7, label = paste0("†")), size=7, color="#00BFC4") +
  # geom_text(aes(x= 1.05, y = 0.7, label = paste0("*")), size=7, color="#00BFC4") +
  # geom_text(aes(x= 4.05, y = 0.7, label = paste0("*")), size=7, color="#00BFC4") +
  # geom_text(aes(x= 0.95, y = 0.52, label = paste0("*")), size=7, color="#F8766d") +
  #  geom_text(aes(x= 2.95, y = 0.52, label = paste0("*")), size=7, color="#F8766d")

ggsave("behavioral_scaled_acc_across_group.png",
       bg="transparent",
       width = 15, height = 15, units = "cm")

Entropy Line Plot (no outliers)

library(dplyr)
library(ggplot2)

bucld_sl_bar_all_long <- melt(bucld_sl_bar_all, id.vars=c("part_id", "group"))


bucld_sl_bar_entropy <-
  bucld_sl_bar_all_long[which(
    str_detect(bucld_sl_bar_all_long$variable, "(?<=entropy_children_)\\S{3}(?=_entropy)")),]

bucld_sl_bar_entropy$variable <-
revalue(bucld_sl_bar_entropy$variable, c("entropy_children_lsl_entropy"="Letter",
                                     "entropy_children_vsl_entropy"="Image",
                                     "entropy_children_tsl_entropy"="Tone",
                                     "entropy_children_ssl_entropy"="Syllable"))

bucld_sl_bar_entropy$variable <- 
  factor(bucld_sl_bar_entropy$variable,levels = c("Image", 
                                                  "Letter", 
                                                  "Tone", 
                                                  "Syllable"))

bucld_sl_bar_entropy <-
  bucld_sl_bar_entropy[order(bucld_sl_bar_entropy$variable), ]

bucld_sl_bar_entropy$value <- 
  as.numeric(as.character(bucld_sl_bar_entropy$value))


library("pastecs")
stat_desc <- 
function(df,group,task) {
  stat.desc(df[which(df$group == group & df$variable == task),])
}

td_tone <- stat_desc(bucld_sl_bar_entropy, "TD", "Tone")
td_syllable <- stat_desc(bucld_sl_bar_entropy, "TD", "Syllable")
td_image <- stat_desc(bucld_sl_bar_entropy, "TD", "Image")
td_letter <- stat_desc(bucld_sl_bar_entropy, "TD", "Letter")

asd_tone <- stat_desc(bucld_sl_bar_entropy, "ASD", "Tone")
asd_syllable <- stat_desc(bucld_sl_bar_entropy, "ASD", "Syllable")
asd_image <- stat_desc(bucld_sl_bar_entropy, "ASD", "Image")
asd_letter <- stat_desc(bucld_sl_bar_entropy, "ASD", "Letter")
 
extract_line_graph_stat <- function (x, group, task) {
y <- x[c("nbr.val","mean", "SE.mean"),"value"]
dim(y) <- c(3, 1)
y <- t(y)
colnames(y) <- c("n", "mean", "std_error")
y <- data.frame(y)
y$group <- group
y$task <- task


return(y)
}

td_tone_stat <- extract_line_graph_stat(td_tone, "TD", "Tone")
td_syllable_stat <- extract_line_graph_stat(td_syllable, "TD", "Syllable")
td_image_stat <- extract_line_graph_stat(td_image, "TD", "Image")
td_letter_stat <- extract_line_graph_stat(td_letter, "TD", "Letter")

asd_tone_stat <- extract_line_graph_stat(asd_tone, "ASD", "Tone")
asd_syllable_stat <- extract_line_graph_stat(asd_syllable, "ASD", "Syllable")
asd_image_stat <- extract_line_graph_stat(asd_image, "ASD", "Image")
asd_letter_stat <- extract_line_graph_stat(asd_letter, "ASD", "Letter")



entropy_stat <- rbind(td_tone_stat, td_syllable_stat, td_image_stat, td_letter_stat,
                      asd_tone_stat, asd_syllable_stat, asd_image_stat, asd_letter_stat)

colnames(entropy_stat)[colnames(entropy_stat) == "group"] <- "Group"

entropy_stat$task <- 
  factor(entropy_stat$task,levels = c("Image", 
                                              "Letter", 
                                              "Tone", 
                                              "Syllable"))

entropy_stat <-
  entropy_stat[order(entropy_stat$task), ]


pd <- position_dodge(width = 0.2)

entropy_stat %>%
  ggplot(aes(x = task, y = mean, group = Group)) +
  geom_line(aes(linetype = Group, color = Group), position = pd, size = 1.8) +
   geom_errorbar(aes(ymin = mean - std_error, ymax = mean + std_error), width = .1, position = pd) +
     geom_point(aes(color = Group), size = 4, position = pd,show.legend = FALSE) + 
          geom_point(size = 3, color = "white", position = pd) +
      labs(title = "Behavioral Entropy across Groups",
         x = "SL Task",  # Change x-axis label
         y = "Mean Entropy") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(
        plot.title = element_text(size=16, face="bold"),
        axis.title.x = element_text(size=14, face="bold"),
        axis.title.y = element_text(size=14, face="bold"),
        axis.text=element_text(size=12, face = "bold")
        ) +
  theme(legend.text=element_text(size=14, face="bold"),
        legend.title=element_text(size=15, face="bold")) +
   theme(
    panel.background = element_rect(fill = "white"),         # Set plot background to white
    legend.key  = element_rect(fill = "white"),              # Set legend item backgrounds to white
    axis.line.x = element_line(colour = "black", size = 1),  # Add line to x axis
    axis.line.y = element_line(colour = "black", size = 1)   # Add line to y axis
  )

ggsave("behavioral_entropy_across_group.png",
       bg="transparent",
       width = 15, height = 15, units = "cm")

Mean RT Line Plot (no outliers)

library(dplyr)
library(ggplot2)

bucld_sl_bar_all_long <- melt(bucld_sl_bar_all, id.vars=c("part_id", "group"))


bucld_sl_bar_rt <-
  bucld_sl_bar_all_long[which(
    str_detect(bucld_sl_bar_all_long$variable, "(?<=rt_children_)\\S{3}(?=_indiv_rts)")),]

bucld_sl_bar_rt$variable <-
revalue(bucld_sl_bar_rt$variable, c("rt_children_lsl_indiv_rts"="Letter",
                                     "rt_children_vsl_indiv_rts"="Image",
                                     "rt_children_tsl_indiv_rts"="Tone",
                                     "rt_children_ssl_indiv_rts"="Syllable"))

bucld_sl_bar_rt$variable <- 
  factor(bucld_sl_bar_rt$variable,levels = c("Image", 
                                                  "Letter", 
                                                  "Tone", 
                                                  "Syllable"))

bucld_sl_bar_rt <-
  bucld_sl_bar_rt[order(bucld_sl_bar_rt$variable), ]

bucld_sl_bar_rt$value <- 
  as.numeric(as.character(bucld_sl_bar_rt$value))


library("pastecs")
stat_desc <- 
function(df,group,task) {
  stat.desc(df[which(df$group == group & df$variable == task),])
}

td_tone <- stat_desc(bucld_sl_bar_rt, "TD", "Tone")
td_syllable <- stat_desc(bucld_sl_bar_rt, "TD", "Syllable")
td_image <- stat_desc(bucld_sl_bar_rt, "TD", "Image")
td_letter <- stat_desc(bucld_sl_bar_rt, "TD", "Letter")

asd_tone <- stat_desc(bucld_sl_bar_rt, "ASD", "Tone")
asd_syllable <- stat_desc(bucld_sl_bar_rt, "ASD", "Syllable")
asd_image <- stat_desc(bucld_sl_bar_rt, "ASD", "Image")
asd_letter <- stat_desc(bucld_sl_bar_rt, "ASD", "Letter")
 
extract_line_graph_stat <- function (x, group, task) {
y <- x[c("nbr.val","mean", "SE.mean"),"value"]
dim(y) <- c(3, 1)
y <- t(y)
colnames(y) <- c("n", "mean", "std_error")
y <- data.frame(y)
y$group <- group
y$task <- task


return(y)
}

td_tone_stat <- extract_line_graph_stat(td_tone, "TD", "Tone")
td_syllable_stat <- extract_line_graph_stat(td_syllable, "TD", "Syllable")
td_image_stat <- extract_line_graph_stat(td_image, "TD", "Image")
td_letter_stat <- extract_line_graph_stat(td_letter, "TD", "Letter")

asd_tone_stat <- extract_line_graph_stat(asd_tone, "ASD", "Tone")
asd_syllable_stat <- extract_line_graph_stat(asd_syllable, "ASD", "Syllable")
asd_image_stat <- extract_line_graph_stat(asd_image, "ASD", "Image")
asd_letter_stat <- extract_line_graph_stat(asd_letter, "ASD", "Letter")



rt_stat <- rbind(td_tone_stat, td_syllable_stat, td_image_stat, td_letter_stat,
                      asd_tone_stat, asd_syllable_stat, asd_image_stat, asd_letter_stat)


colnames(rt_stat)[colnames(rt_stat) == "group"] <- "Group"

rt_stat$task <- 
  factor(rt_stat$task,levels = c("Image", 
                                              "Letter", 
                                              "Tone", 
                                              "Syllable"))

rt_stat <-
  rt_stat[order(rt_stat$task), ]


pd <- position_dodge(width = 0.2)

rt_stat %>%
  ggplot(aes(x = task, y = mean, group = Group)) +
  geom_line(aes(linetype = Group, color = Group), position = pd, size = 1.8) +
   geom_errorbar(aes(ymin = mean - std_error, ymax = mean + std_error), width = .1, position = pd) +
     geom_point(aes(color = Group), size = 4, position = pd,show.legend = FALSE) + 
          geom_point(size = 3, color = "white", position = pd) +
      labs(title = "Behavioral Reaction Time across Groups",
         x = "SL Task",  # Change x-axis label
         y = "Mean Reaction Time (ms)") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(
        plot.title = element_text(size=16, face="bold"),
        axis.title.x = element_text(size=14, face="bold"),
        axis.title.y = element_text(size=14, face="bold"),
        axis.text=element_text(size=12, face = "bold")
        ) +
  theme(legend.text=element_text(size=14, face="bold"),
        legend.title=element_text(size=15, face="bold")) +
   theme(
    panel.background = element_rect(fill = "white"),         # Set plot background to white
    legend.key  = element_rect(fill = "white"),              # Set legend item backgrounds to white
    axis.line.x = element_line(colour = "black", size = 1),  # Add line to x axis
    axis.line.y = element_line(colour = "black", size = 1)   # Add line to y axis
  )

ggsave("behavioral_rt_across_group.png",
       width = 15, height = 15, units = "cm")

write.csv(blast_spoli_data_wide, "blast_spoli_data_all_measures.csv")
write.csv(bucld_all_completed, "blast_spoli_data_all_measures_no_outlier.csv")

RT Slope Line Plot (no outliers)

library(dplyr)
library(ggplot2)

bucld_sl_bar_all_long <- melt(bucld_sl_bar_all, id.vars=c("part_id", "group"))


bucld_sl_bar_slope <-
  bucld_sl_bar_all_long[which(
    str_detect(bucld_sl_bar_all_long$variable, "(?<=slope_children_)\\S{3}(?=_indiv_rts_slope)")),]


bucld_sl_bar_slope$variable <-
revalue(bucld_sl_bar_slope$variable, c("slope_children_lsl_indiv_rts_slope"="Letter",
                                     "slope_children_vsl_indiv_rts_slope"="Image",
                                     "slope_children_tsl_indiv_rts_slope"="Tone",
                                     "slope_children_ssl_indiv_rts_slope"="Syllable"))

bucld_sl_bar_slope$variable <- 
  factor(bucld_sl_bar_slope$variable,levels = c("Image", 
                                                  "Letter", 
                                                  "Tone", 
                                                  "Syllable"))

bucld_sl_bar_slope <-
  bucld_sl_bar_slope[order(bucld_sl_bar_slope$variable), ]

bucld_sl_bar_slope$value <- 
  as.numeric(as.character(bucld_sl_bar_slope$value))


library("pastecs")
stat_desc <- 
function(df,group,task) {
  stat.desc(df[which(df$group == group & df$variable == task),])
}

td_tone <- stat_desc(bucld_sl_bar_slope, "TD", "Tone")
td_syllable <- stat_desc(bucld_sl_bar_slope, "TD", "Syllable")
td_image <- stat_desc(bucld_sl_bar_slope, "TD", "Image")
td_letter <- stat_desc(bucld_sl_bar_slope, "TD", "Letter")

asd_tone <- stat_desc(bucld_sl_bar_slope, "ASD", "Tone")
asd_syllable <- stat_desc(bucld_sl_bar_slope, "ASD", "Syllable")
asd_image <- stat_desc(bucld_sl_bar_slope, "ASD", "Image")
asd_letter <- stat_desc(bucld_sl_bar_slope, "ASD", "Letter")
 
extract_line_graph_stat <- function (x, group, task) {
y <- x[c("nbr.val","mean", "SE.mean"),"value"]
dim(y) <- c(3, 1)
y <- t(y)
colnames(y) <- c("n", "mean", "std_error")
y <- data.frame(y)
y$group <- group
y$task <- task


return(y)
}

td_tone_stat <- extract_line_graph_stat(td_tone, "TD", "Tone")
td_syllable_stat <- extract_line_graph_stat(td_syllable, "TD", "Syllable")
td_image_stat <- extract_line_graph_stat(td_image, "TD", "Image")
td_letter_stat <- extract_line_graph_stat(td_letter, "TD", "Letter")

asd_tone_stat <- extract_line_graph_stat(asd_tone, "ASD", "Tone")
asd_syllable_stat <- extract_line_graph_stat(asd_syllable, "ASD", "Syllable")
asd_image_stat <- extract_line_graph_stat(asd_image, "ASD", "Image")
asd_letter_stat <- extract_line_graph_stat(asd_letter, "ASD", "Letter")



slope_stat <- rbind(td_tone_stat, td_syllable_stat, td_image_stat, td_letter_stat,
                      asd_tone_stat, asd_syllable_stat, asd_image_stat, asd_letter_stat)

slope_stat$task <- 
  factor(slope_stat$task,levels = c("Image", 
                                              "Letter", 
                                              "Tone", 
                                              "Syllable"))
slope_stat <-
  slope_stat[order(slope_stat$task), ]


pd <- position_dodge(width = 0.2)

colnames(slope_stat)[colnames(slope_stat) == "group"] <- "Group"


pd <- position_dodge(width = 0.2)
slope_stat %>%
  ggplot(aes(x = task, y = mean, group = Group)) +
  geom_line(aes(linetype = Group, color = Group), position = pd, size = 1.8) +
   geom_errorbar(aes(ymin = mean - std_error, ymax = mean + std_error), width = .1, position = pd) +
     geom_point(aes(color = Group), size = 4, position = pd,show.legend = FALSE) + 
          geom_point(size = 3, color = "white", position = pd) +
      labs(title = "Behavioral Reaction Time Slope across Groups",
         x = "SL Task",  # Change x-axis label
         y = "Reaction Time Slope (arbitrary unit/trial)") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(
        plot.title = element_text(size=16, face="bold"),
        axis.title.x = element_text(size=14, face="bold"),
        axis.title.y = element_text(size=14, face="bold"),
        axis.text=element_text(size=12, face = "bold")
        ) +
  theme(legend.text=element_text(size=14, face="bold"),
        legend.title=element_text(size=15, face="bold")) +
   theme(
    panel.background = element_rect(fill = "white"),         # Set plot background to white
    legend.key  = element_rect(fill = "white"),              # Set legend item backgrounds to white
    axis.line.x = element_line(colour = "black", size = 1),  # Add line to x axis
    axis.line.y = element_line(colour = "black", size = 1)   # Add line to y axis
  ) #+

  #geom_text(aes(x= 1, y = 0.015, label = paste0("†")), size=7) 
 
ggsave(
   "behavioral_slope_across_group.png",
    width = 15, height = 15, units = "cm"
)

Multiple Regression for Accuracy

library("data.table")

bucld_mulreg <- bucld_all_completed

bucld_mulreg$group_dummy <-
revalue(bucld_all_completed$group, c("TD" = 1,
                                   "ASD" = 0))

ssl_lsl_mulreg <-
lm(accuracy_children_ssl_accuracies~accuracy_children_lsl_accuracies*group,
   data=bucld_mulreg)
summary(ssl_lsl_mulreg)
## 
## Call:
## lm(formula = accuracy_children_ssl_accuracies ~ accuracy_children_lsl_accuracies * 
##     group, data = bucld_mulreg)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.131748 -0.051073 -0.005971  0.053673  0.126073 
## 
## Coefficients:
##                                          Estimate Std. Error t value
## (Intercept)                               0.51850    0.04803  10.795
## accuracy_children_lsl_accuracies         -0.02507    0.09231  -0.272
## groupTD                                  -0.28697    0.10077  -2.848
## accuracy_children_lsl_accuracies:groupTD  0.53847    0.16229   3.318
##                                          Pr(>|t|)    
## (Intercept)                              2.31e-12 ***
## accuracy_children_lsl_accuracies          0.78768    
## groupTD                                   0.00752 ** 
## accuracy_children_lsl_accuracies:groupTD  0.00222 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.06964 on 33 degrees of freedom
##   (15 observations deleted due to missingness)
## Multiple R-squared:  0.3769, Adjusted R-squared:  0.3203 
## F-statistic: 6.655 on 3 and 33 DF,  p-value: 0.001225
#Interaction between group significant

ssl_lsl_mulreg_vsl_out <-
lm(accuracy_children_ssl_accuracies~group*accuracy_children_lsl_accuracies + accuracy_children_vsl_accuracies,
   data=bucld_mulreg)
summary(ssl_lsl_mulreg_vsl_out)
## 
## Call:
## lm(formula = accuracy_children_ssl_accuracies ~ group * accuracy_children_lsl_accuracies + 
##     accuracy_children_vsl_accuracies, data = bucld_mulreg)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.129799 -0.049510 -0.007401  0.052976  0.116851 
## 
## Coefficients:
##                                           Estimate Std. Error t value
## (Intercept)                               0.536587   0.056915   9.428
## groupTD                                  -0.300060   0.105483  -2.845
## accuracy_children_lsl_accuracies          0.001609   0.106288   0.015
## accuracy_children_vsl_accuracies         -0.054786   0.086916  -0.630
## groupTD:accuracy_children_lsl_accuracies  0.556938   0.169110   3.293
##                                          Pr(>|t|)    
## (Intercept)                              1.28e-10 ***
## groupTD                                   0.00781 ** 
## accuracy_children_lsl_accuracies          0.98802    
## accuracy_children_vsl_accuracies          0.53310    
## groupTD:accuracy_children_lsl_accuracies  0.00248 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.07138 on 31 degrees of freedom
##   (16 observations deleted due to missingness)
## Multiple R-squared:  0.3839, Adjusted R-squared:  0.3044 
## F-statistic: 4.829 on 4 and 31 DF,  p-value: 0.003818
lsl_ssl_mulreg <-
lm(accuracy_children_lsl_accuracies~accuracy_children_ssl_accuracies*group,
   data=bucld_mulreg)
summary(lsl_ssl_mulreg)
## 
## Call:
## lm(formula = accuracy_children_lsl_accuracies ~ accuracy_children_ssl_accuracies * 
##     group, data = bucld_mulreg)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.28049 -0.08005  0.00051  0.05408  0.46617 
## 
## Coefficients:
##                                          Estimate Std. Error t value
## (Intercept)                                0.5533     0.1959   2.824
## accuracy_children_ssl_accuracies          -0.1075     0.3834  -0.280
## groupTD                                   -0.6986     0.3196  -2.185
## accuracy_children_ssl_accuracies:groupTD   1.5120     0.5856   2.582
##                                          Pr(>|t|)   
## (Intercept)                               0.00799 **
## accuracy_children_ssl_accuracies          0.78085   
## groupTD                                   0.03606 * 
## accuracy_children_ssl_accuracies:groupTD  0.01446 * 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1396 on 33 degrees of freedom
##   (15 observations deleted due to missingness)
## Multiple R-squared:  0.3602, Adjusted R-squared:  0.302 
## F-statistic: 6.193 on 3 and 33 DF,  p-value: 0.001859
#Interaction significant 

# tsl_ssl_mulreg <-
# lm(accuracy_children_tsl_accuracies~accuracy_children_ssl_accuracies*group,
#    data=bucld_mulreg)
# summary(tsl_ssl_mulreg)
# 
# ssl_tsl_mulreg <-
# lm(accuracy_children_ssl_accuracies~accuracy_children_tsl_accuracies*group,
#    data=bucld_mulreg)
# summary(ssl_tsl_mulreg)

vsl_lsl_mulreg <-
lm(accuracy_children_vsl_accuracies~accuracy_children_lsl_accuracies*group,
   data=bucld_mulreg)
summary(vsl_lsl_mulreg)
## 
## Call:
## lm(formula = accuracy_children_vsl_accuracies ~ accuracy_children_lsl_accuracies * 
##     group, data = bucld_mulreg)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.27214 -0.07365 -0.00557  0.06375  0.38005 
## 
## Coefficients:
##                                          Estimate Std. Error t value
## (Intercept)                                0.3027     0.1032   2.934
## accuracy_children_lsl_accuracies           0.5217     0.1964   2.657
## groupTD                                   -0.1258     0.1983  -0.634
## accuracy_children_lsl_accuracies:groupTD   0.1356     0.3205   0.423
##                                          Pr(>|t|)   
## (Intercept)                               0.00588 **
## accuracy_children_lsl_accuracies          0.01180 * 
## groupTD                                   0.52997   
## accuracy_children_lsl_accuracies:groupTD  0.67479   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1461 on 35 degrees of freedom
##   (13 observations deleted due to missingness)
## Multiple R-squared:  0.2909, Adjusted R-squared:  0.2301 
## F-statistic: 4.785 on 3 and 35 DF,  p-value: 0.006744
# LSL significant

lsl_vsl_mulreg <-
lm(accuracy_children_lsl_accuracies~accuracy_children_vsl_accuracies*group,
   data=bucld_mulreg)
summary(lsl_vsl_mulreg)
## 
## Call:
## lm(formula = accuracy_children_lsl_accuracies ~ accuracy_children_vsl_accuracies * 
##     group, data = bucld_mulreg)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.26247 -0.06802 -0.01883  0.04350  0.33950 
## 
## Coefficients:
##                                          Estimate Std. Error t value
## (Intercept)                               0.22487    0.10353   2.172
## accuracy_children_vsl_accuracies          0.49458    0.17680   2.797
## groupTD                                   0.13573    0.16326   0.831
## accuracy_children_vsl_accuracies:groupTD -0.01681    0.26676  -0.063
##                                          Pr(>|t|)   
## (Intercept)                               0.03671 * 
## accuracy_children_vsl_accuracies          0.00832 **
## groupTD                                   0.41140   
## accuracy_children_vsl_accuracies:groupTD  0.95011   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1351 on 35 degrees of freedom
##   (13 observations deleted due to missingness)
## Multiple R-squared:  0.4007, Adjusted R-squared:  0.3493 
## F-statistic: 7.799 on 3 and 35 DF,  p-value: 0.0004077
# VSL significant

ssl_vsl_mulreg <-
lm(accuracy_children_ssl_accuracies~accuracy_children_vsl_accuracies*group,
   data=bucld_mulreg)
summary(ssl_vsl_mulreg)
## 
## Call:
## lm(formula = accuracy_children_ssl_accuracies ~ accuracy_children_vsl_accuracies * 
##     group, data = bucld_mulreg)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.12699 -0.05179 -0.00949  0.06245  0.11680 
## 
## Coefficients:
##                                          Estimate Std. Error t value
## (Intercept)                               0.56052    0.05274  10.628
## accuracy_children_vsl_accuracies         -0.09854    0.09147  -1.077
## groupTD                                  -0.21714    0.08823  -2.461
## accuracy_children_vsl_accuracies:groupTD  0.43255    0.14344   3.015
##                                          Pr(>|t|)    
## (Intercept)                              1.19e-12 ***
## accuracy_children_vsl_accuracies          0.28852    
## groupTD                                   0.01877 *  
## accuracy_children_vsl_accuracies:groupTD  0.00468 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.07333 on 36 degrees of freedom
##   (12 observations deleted due to missingness)
## Multiple R-squared:  0.2687, Adjusted R-squared:  0.2078 
## F-statistic:  4.41 on 3 and 36 DF,  p-value: 0.00967
# Interaction significant


ssl_vsl_mulreg_lsl_out <-
lm(accuracy_children_ssl_accuracies~accuracy_children_vsl_accuracies*group + accuracy_children_lsl_accuracies,
   data=bucld_mulreg)
summary(ssl_vsl_mulreg_lsl_out)
## 
## Call:
## lm(formula = accuracy_children_ssl_accuracies ~ accuracy_children_vsl_accuracies * 
##     group + accuracy_children_lsl_accuracies, data = bucld_mulreg)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.137972 -0.048776  0.000646  0.058321  0.126709 
## 
## Coefficients:
##                                          Estimate Std. Error t value
## (Intercept)                               0.53657    0.06096   8.803
## accuracy_children_vsl_accuracies         -0.19036    0.10871  -1.751
## groupTD                                  -0.21910    0.09341  -2.345
## accuracy_children_lsl_accuracies          0.15469    0.09830   1.574
## accuracy_children_vsl_accuracies:groupTD  0.42392    0.14825   2.860
##                                          Pr(>|t|)    
## (Intercept)                              6.14e-10 ***
## accuracy_children_vsl_accuracies          0.08982 .  
## groupTD                                   0.02558 *  
## accuracy_children_lsl_accuracies          0.12570    
## accuracy_children_vsl_accuracies:groupTD  0.00752 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.07377 on 31 degrees of freedom
##   (16 observations deleted due to missingness)
## Multiple R-squared:  0.3419, Adjusted R-squared:  0.257 
## F-statistic: 4.026 on 4 and 31 DF,  p-value: 0.009611
vsl_ssl_mulreg <-
lm(accuracy_children_vsl_accuracies~accuracy_children_ssl_accuracies*group,
   data=bucld_mulreg)
summary(vsl_ssl_mulreg)
## 
## Call:
## lm(formula = accuracy_children_vsl_accuracies ~ accuracy_children_ssl_accuracies * 
##     group, data = bucld_mulreg)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.24866 -0.07892 -0.00494  0.05731  0.47128 
## 
## Coefficients:
##                                          Estimate Std. Error t value
## (Intercept)                                0.7969     0.2175   3.664
## accuracy_children_ssl_accuracies          -0.4772     0.4259  -1.120
## groupTD                                   -0.8775     0.3337  -2.629
## accuracy_children_ssl_accuracies:groupTD   1.7426     0.6233   2.796
##                                          Pr(>|t|)    
## (Intercept)                              0.000793 ***
## accuracy_children_ssl_accuracies         0.269960    
## groupTD                                  0.012507 *  
## accuracy_children_ssl_accuracies:groupTD 0.008255 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1552 on 36 degrees of freedom
##   (12 observations deleted due to missingness)
## Multiple R-squared:  0.2207, Adjusted R-squared:  0.1557 
## F-statistic: 3.398 on 3 and 36 DF,  p-value: 0.02804
# Interaction Significant

# lsl_tsl_mulreg <-
# lm(accuracy_children_lsl_accuracies~accuracy_children_tsl_accuracies*group,
#    data=bucld_mulreg)
# summary(lsl_tsl_mulreg)

# tsl_lsl_mulreg <-
# lm(accuracy_children_tsl_accuracies~accuracy_children_lsl_accuracies*group,
#    data=bucld_mulreg)
# summary(tsl_lsl_mulreg)

vsl_tsl_mulreg <-
lm(accuracy_children_vsl_accuracies~accuracy_children_tsl_accuracies*group,
   data=bucld_mulreg)
summary(vsl_tsl_mulreg)
## 
## Call:
## lm(formula = accuracy_children_vsl_accuracies ~ accuracy_children_tsl_accuracies * 
##     group, data = bucld_mulreg)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.33206 -0.08680 -0.03866  0.05630  0.40354 
## 
## Coefficients:
##                                          Estimate Std. Error t value
## (Intercept)                               0.36508    0.15731   2.321
## accuracy_children_tsl_accuracies          0.34717    0.27006   1.285
## groupTD                                   0.06720    0.24198   0.278
## accuracy_children_tsl_accuracies:groupTD -0.08079    0.40201  -0.201
##                                          Pr(>|t|)  
## (Intercept)                                0.0262 *
## accuracy_children_tsl_accuracies           0.2071  
## groupTD                                    0.7829  
## accuracy_children_tsl_accuracies:groupTD   0.8419  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.17 on 35 degrees of freedom
##   (13 observations deleted due to missingness)
## Multiple R-squared:  0.07201,    Adjusted R-squared:  -0.007529 
## F-statistic: 0.9053 on 3 and 35 DF,  p-value: 0.4484
tsl_vsl_mulreg <-
lm(accuracy_children_tsl_accuracies~accuracy_children_vsl_accuracies*group,
   data=bucld_mulreg)
summary(tsl_vsl_mulreg)
## 
## Call:
## lm(formula = accuracy_children_tsl_accuracies ~ accuracy_children_vsl_accuracies * 
##     group, data = bucld_mulreg)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.21748 -0.08715 -0.01625  0.06388  0.38718 
## 
## Coefficients:
##                                          Estimate Std. Error t value
## (Intercept)                               0.43958    0.10467   4.200
## accuracy_children_vsl_accuracies          0.22958    0.17940   1.280
## groupTD                                   0.05241    0.16218   0.323
## accuracy_children_vsl_accuracies:groupTD -0.04992    0.26851  -0.186
##                                          Pr(>|t|)    
## (Intercept)                              0.000174 ***
## accuracy_children_vsl_accuracies         0.209065    
## groupTD                                  0.748478    
## accuracy_children_vsl_accuracies:groupTD 0.853582    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1389 on 35 degrees of freedom
##   (13 observations deleted due to missingness)
## Multiple R-squared:  0.07538,    Adjusted R-squared:  -0.003877 
## F-statistic: 0.9511 on 3 and 35 DF,  p-value: 0.4266

Multiple Regression Mean RT

# tsl_vsl_mulreg_rt <-
# lm(rt_children_tsl_indiv_rts~rt_children_vsl_indiv_rts*group,
#    data=bucld_mulreg)
# summary(tsl_vsl_mulreg_rt)
# 
# vsl_tsl_mulreg_rt <-
# lm(rt_children_vsl_indiv_rts~rt_children_tsl_indiv_rts*group,
#    data=bucld_mulreg)
# summary(vsl_tsl_mulreg_rt)

# lsl_vsl_mulreg_rt <-
# lm(rt_children_lsl_indiv_rts~rt_children_vsl_indiv_rts*group,
#    data=bucld_mulreg)
# summary(lsl_vsl_mulreg_rt)
# 
# 
# vsl_lsl_mulreg_rt <-
# lm(rt_children_vsl_indiv_rts~rt_children_lsl_indiv_rts*group,
#    data=bucld_mulreg)
# summary(vsl_lsl_mulreg_rt)

# ssl_lsl_mulreg_rt <-
# lm(rt_children_ssl_indiv_rts~rt_children_lsl_indiv_rts*group,
#    data=bucld_mulreg)
# summary(ssl_lsl_mulreg_rt)

# lsl_ssl_mulreg_rt <-
# lm(rt_children_lsl_indiv_rts~rt_children_ssl_indiv_rts*group,
#    data=bucld_mulreg)
# summary(lsl_ssl_mulreg_rt)

ssl_tsl_mulreg_rt <-
lm(rt_children_ssl_indiv_rts~rt_children_tsl_indiv_rts*group,
   data=bucld_mulreg)
summary(ssl_tsl_mulreg_rt)
## 
## Call:
## lm(formula = rt_children_ssl_indiv_rts ~ rt_children_tsl_indiv_rts * 
##     group, data = bucld_mulreg)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -430.99  -60.48   21.91   95.05  287.97 
## 
## Coefficients:
##                                    Estimate Std. Error t value Pr(>|t|)
## (Intercept)                       431.47465   45.74034   9.433 1.75e-10
## rt_children_tsl_indiv_rts           0.03803    0.23325   0.163   0.8716
## groupTD                           161.01627   89.80082   1.793   0.0831
## rt_children_tsl_indiv_rts:groupTD  -0.50853    0.33255  -1.529   0.1367
##                                      
## (Intercept)                       ***
## rt_children_tsl_indiv_rts            
## groupTD                           .  
## rt_children_tsl_indiv_rts:groupTD    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 156.2 on 30 degrees of freedom
##   (18 observations deleted due to missingness)
## Multiple R-squared:  0.1273, Adjusted R-squared:  0.04008 
## F-statistic: 1.459 on 3 and 30 DF,  p-value: 0.2454
tsl_ssl_mulreg_rt <-
lm(rt_children_tsl_indiv_rts~rt_children_ssl_indiv_rts*group,
   data=bucld_mulreg)
summary(tsl_ssl_mulreg_rt)
## 
## Call:
## lm(formula = rt_children_tsl_indiv_rts ~ rt_children_ssl_indiv_rts * 
##     group, data = bucld_mulreg)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -381.10  -63.86   23.66   90.13  241.16 
## 
## Coefficients:
##                                    Estimate Std. Error t value Pr(>|t|)   
## (Intercept)                       128.92463   86.84554   1.485  0.14810   
## rt_children_ssl_indiv_rts           0.02675    0.18627   0.144  0.88678   
## groupTD                           629.32769  189.29328   3.325  0.00234 **
## rt_children_ssl_indiv_rts:groupTD  -1.09628    0.38795  -2.826  0.00831 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 148.7 on 30 degrees of freedom
##   (18 observations deleted due to missingness)
## Multiple R-squared:  0.3146, Adjusted R-squared:  0.246 
## F-statistic: 4.589 on 3 and 30 DF,  p-value: 0.00926
# ssl_vsl_mulreg_rt <-
# lm(rt_children_ssl_indiv_rts~rt_children_vsl_indiv_rts*group,
#    data=bucld_mulreg)
# summary(ssl_vsl_mulreg_rt)
# 
# vsl_ssl_mulreg_rt <-
# lm(rt_children_vsl_indiv_rts~rt_children_ssl_indiv_rts*group,
#    data=bucld_mulreg)
# summary(vsl_ssl_mulreg_rt)

# lsl_tsl_mulreg_rt <-
# lm(rt_children_lsl_indiv_rts~rt_children_tsl_indiv_rts*group,
#    data=bucld_mulreg)
# summary(lsl_tsl_mulreg_rt)
# 
# tsl_lsl_mulreg_rt <-
# lm(rt_children_tsl_indiv_rts~rt_children_lsl_indiv_rts*group,
#    data=bucld_mulreg)
# summary(tsl_lsl_mulreg_rt)

Multiple regression rt slope (no interaction siginificant)

Plot Accuracy Correlation of SL taks across groups

library(ggpubr)
## Loading required package: magrittr
## 
## Attaching package: 'magrittr'
## The following object is masked from 'package:pastecs':
## 
##     extract
## 
## Attaching package: 'ggpubr'
## The following object is masked from 'package:plyr':
## 
##     mutate
colnames(bucld_mulreg)[colnames(bucld_mulreg) == "group"] <- "Group"

bucld_mulreg[,c(1:46)] %>%
ggplot(aes(x = accuracy_children_ssl_accuracies, y = accuracy_children_lsl_accuracies, color = Group)) +
  geom_point(size = 4, alpha = 0.8) +
  scale_fill_brewer(palette = "Set2") +
      labs(title = "Syllable and Letter SL Accuracy Correlation",
         y = "Letter SL Accuracy",  # Change x-axis label
         x = "Syllable SL Accuracy") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(
        plot.title = element_text(size=16, face="bold"),
        axis.title.x = element_text(size=14, face="bold"),
        axis.title.y = element_text(size=14, face="bold"),
        axis.text=element_text(size=12, face = "bold")
        ) +
  theme(legend.text=element_text(size=14, face="bold")) +
   theme(
    panel.background = element_rect(fill = "white"),
    legend.title = element_text(size = 16, face = "bold"),# Set plot background to white
    legend.key  = element_rect(fill = "white"),              # Set legend item backgrounds to white
    axis.line.x = element_line(colour = "black", size = 1),  # Add line to x axis
    axis.line.y = element_line(colour = "black", size = 1)   # Add line to y axis
  ) +
  geom_smooth(data = subset(bucld_mulreg[,c(1:46)], Group == "TD"),
              aes(x = accuracy_children_ssl_accuracies, y = accuracy_children_lsl_accuracies),
              method=lm, se=FALSE, show.legend = F, inherit.aes = F, color = "#00BFC4") +
  geom_smooth(data = subset(bucld_mulreg[,c(1:46)], Group == "ASD"),
              aes(x = accuracy_children_ssl_accuracies, y = accuracy_children_lsl_accuracies),
              method=lm, se=FALSE, show.legend = F, inherit.aes = F, color = "#F8766d") +
  stat_cor(data = subset(bucld_mulreg[,c(1:46)], Group == "TD"),
              aes(x = accuracy_children_ssl_accuracies, y = accuracy_children_lsl_accuracies),
           method = "pearson", label.x = 0.55, label.y = 0.92,
           inherit.aes = F, color = "#00BFC4", size = 5) +
    stat_cor(data = subset(bucld_mulreg[,c(1:46)], Group == "ASD"),
              aes(x = accuracy_children_ssl_accuracies, y = accuracy_children_lsl_accuracies),
             method = "pearson", label.x = 0.6, label.y = 0.49, 
           inherit.aes = F, color = "#F8766d", size = 5)
## Warning: Removed 10 rows containing non-finite values (stat_smooth).
## Warning: Removed 5 rows containing non-finite values (stat_smooth).
## Warning: Removed 10 rows containing non-finite values (stat_cor).
## Warning: Removed 5 rows containing non-finite values (stat_cor).
## Warning: Removed 15 rows containing missing values (geom_point).

  #+ 
  #geom_text(aes(x = 20, y = 120, label = paste("rho =", "-0.76**")),color = "red",size=4)

ggsave("bucld_ssl_lsl_corr.png",
       width = 15, height = 15, units = "cm")
## Warning: Removed 10 rows containing non-finite values (stat_smooth).
## Warning: Removed 5 rows containing non-finite values (stat_smooth).
## Warning: Removed 10 rows containing non-finite values (stat_cor).
## Warning: Removed 5 rows containing non-finite values (stat_cor).
## Warning: Removed 15 rows containing missing values (geom_point).
library(ggpubr)
colnames(bucld_mulreg)[colnames(bucld_mulreg) == "group"] <- "Group"

bucld_mulreg[,c(1:46)] %>%
ggplot(aes(x = accuracy_children_ssl_accuracies, y = accuracy_children_vsl_accuracies, color = Group)) +
  geom_point(size = 4, alpha = 0.8) +
  scale_fill_brewer(palette = "Set2") +
      labs(title = "Syllable and Image SL Correlation",
         y = "Image SL Accuracy",  # Change x-axis label
         x = "Syllable SL Accuracy") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(
        plot.title = element_text(size=16, face="bold"),
        axis.title.x = element_text(size=14, face="bold"),
        axis.title.y = element_text(size=14, face="bold"),
        axis.text=element_text(size=12, face = "bold")
        ) +
  theme(legend.text=element_text(size=14, face="bold")) +
   theme(
    panel.background = element_rect(fill = "white"),
    legend.title = element_text(size = 16, face = "bold"),# Set plot background to white
    legend.key  = element_rect(fill = "white"),              # Set legend item backgrounds to white
    axis.line.x = element_line(colour = "black", size = 1),  # Add line to x axis
    axis.line.y = element_line(colour = "black", size = 1)   # Add line to y axis
  ) +
  geom_smooth(data = subset(bucld_mulreg[,c(1:46)], Group == "TD"),
              aes(x = accuracy_children_ssl_accuracies, y = accuracy_children_vsl_accuracies),
              method=lm, se=FALSE, show.legend = F, inherit.aes = F, color = "#00BFC4") +
  geom_smooth(data = subset(bucld_mulreg[,c(1:46)], Group == "ASD"),
              aes(x = accuracy_children_ssl_accuracies, y = accuracy_children_vsl_accuracies),
              method=lm, se=FALSE, show.legend = F, inherit.aes = F, color = "#F8766d") +
  stat_cor(data = subset(bucld_mulreg[,c(1:46)], Group == "TD"),
              aes(x = accuracy_children_ssl_accuracies, y = accuracy_children_vsl_accuracies),
           method = "pearson", label.x = 0.55, label.y = 0.92,
           inherit.aes = F, color = "#00BFC4", size = 5) +
    stat_cor(data = subset(bucld_mulreg[,c(1:46)], Group == "ASD"),
              aes(x = accuracy_children_ssl_accuracies, y = accuracy_children_vsl_accuracies),
             method = "pearson", label.x = 0.6, label.y = 0.49, 
           inherit.aes = F, color = "#F8766d", size = 5)
## Warning: Removed 8 rows containing non-finite values (stat_smooth).
## Warning: Removed 4 rows containing non-finite values (stat_smooth).
## Warning: Removed 8 rows containing non-finite values (stat_cor).
## Warning: Removed 4 rows containing non-finite values (stat_cor).
## Warning: Removed 12 rows containing missing values (geom_point).

  #+ 
  #geom_text(aes(x = 20, y = 120, label = paste("rho =", "-0.76**")),color = "red",size=4)

ggsave("bucld_ssl_vsl_corr.png",
       width = 15, height = 15, units = "cm")
## Warning: Removed 8 rows containing non-finite values (stat_smooth).
## Warning: Removed 4 rows containing non-finite values (stat_smooth).
## Warning: Removed 8 rows containing non-finite values (stat_cor).
## Warning: Removed 4 rows containing non-finite values (stat_cor).
## Warning: Removed 12 rows containing missing values (geom_point).
library("ggpubr")
bucld_mulreg[,c(1:46)] %>%
ggplot(aes(x = accuracy_children_lsl_accuracies, y = accuracy_children_vsl_accuracies, color = Group)) +
  geom_point(size = 4, alpha = 0.8) +
  scale_fill_brewer(palette = "Set2") +
      labs(title = "Letter and Image SL Correlation",
          x = "Letter SL Accuracy",
          y = "Image SL Accuracy") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(
        plot.title = element_text(size=16, face="bold"),
        axis.title.x = element_text(size=14, face="bold"),
        axis.title.y = element_text(size=14, face="bold"),
        axis.text=element_text(size=12, face = "bold")
        ) +
  theme(legend.text=element_text(size=14, face="bold")) +
   theme(
    panel.background = element_rect(fill = "white"),
    legend.title = element_text(size = 16, face = "bold"),# Set plot background to white
    legend.key  = element_rect(fill = "white"),              # Set legend item backgrounds to white
    axis.line.x = element_line(colour = "black", size = 1),  # Add line to x axis
    axis.line.y = element_line(colour = "black", size = 1)   # Add line to y axis
  ) +
  geom_smooth(data = subset(bucld_mulreg[,c(1:46)], Group == "TD"),
              aes(x = accuracy_children_lsl_accuracies, y = accuracy_children_vsl_accuracies),
              method=lm, se=FALSE, show.legend = F, inherit.aes = F, color = "#00BFC4") +
  geom_smooth(data = subset(bucld_mulreg[,c(1:46)], Group == "ASD"),
              aes(x = accuracy_children_lsl_accuracies, y = accuracy_children_vsl_accuracies),
              method=lm, se=FALSE, show.legend = F, inherit.aes = F, color = "#F8766d") +
  stat_cor(data = subset(bucld_mulreg[,c(1:46)], Group == "TD"),
              aes(x = accuracy_children_lsl_accuracies, y = accuracy_children_vsl_accuracies),
           method = "pearson", label.x = 0.55, label.y = 0.92,
           inherit.aes = F, color = "#00BFC4", size = 5) +
    stat_cor(data = subset(bucld_mulreg[,c(1:46)], Group == "ASD"),
              aes(x = accuracy_children_lsl_accuracies, y = accuracy_children_vsl_accuracies),
             method = "pearson", label.x = 0.6, label.y = 0.49, 
           inherit.aes = F, color = "#F8766d", size = 5)
## Warning: Removed 8 rows containing non-finite values (stat_smooth).
## Warning: Removed 5 rows containing non-finite values (stat_smooth).
## Warning: Removed 8 rows containing non-finite values (stat_cor).
## Warning: Removed 5 rows containing non-finite values (stat_cor).
## Warning: Removed 13 rows containing missing values (geom_point).

  #+ 
  #geom_text(aes(x = 20, y = 120, label = paste("rho =", "-0.76**")),color = "red",size=4)

ggsave("bucld_ssl_vsl_corr.png",
       width = 15, height = 15, units = "cm")
## Warning: Removed 8 rows containing non-finite values (stat_smooth).
## Warning: Removed 5 rows containing non-finite values (stat_smooth).
## Warning: Removed 8 rows containing non-finite values (stat_cor).
## Warning: Removed 5 rows containing non-finite values (stat_cor).
## Warning: Removed 13 rows containing missing values (geom_point).

RT slope and vsl

library("ggpubr")
bucld_mulreg[,c(1:46)] %>%
ggplot(aes(x = accuracy_children_vsl_accuracies, y = slope_children_vsl_indiv_rts_slope, color = Group)) +
  geom_point(size = 4, alpha = 0.8) +
  scale_fill_brewer(palette = "Set2") +
      labs(title = "Image Accuracy and Reaction Time Slope Correlation",
          x = "Image SL Accuracy",
          y = "Image SL Reaction Time Slope (arbitrary unit/ trial") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(
        plot.title = element_text(size=16, face="bold"),
        axis.title.x = element_text(size=14, face="bold"),
        axis.title.y = element_text(size=14, face="bold"),
        axis.text=element_text(size=12, face = "bold")
        ) +
  theme(legend.text=element_text(size=14, face="bold")) +
   theme(
    panel.background = element_rect(fill = "white"),
    legend.title = element_text(size = 16, face = "bold"),# Set plot background to white
    legend.key  = element_rect(fill = "white"),              # Set legend item backgrounds to white
    axis.line.x = element_line(colour = "black", size = 1),  # Add line to x axis
    axis.line.y = element_line(colour = "black", size = 1)   # Add line to y axis
  ) +
  geom_smooth(data = subset(bucld_mulreg[,c(1:46)], Group == "TD"),
              aes(x = accuracy_children_vsl_accuracies, y = slope_children_vsl_indiv_rts_slope),
              method=lm, se=FALSE, show.legend = F, inherit.aes = F, color = "#00BFC4") +
  geom_smooth(data = subset(bucld_mulreg[,c(1:46)], Group == "ASD"),
              aes(x = accuracy_children_vsl_accuracies, y = slope_children_vsl_indiv_rts_slope),
              method=lm, se=FALSE, show.legend = F, inherit.aes = F, color = "#F8766d") +
  stat_cor(data = subset(bucld_mulreg[,c(1:46)], Group == "TD"),
              aes(x = accuracy_children_vsl_accuracies, y = slope_children_vsl_indiv_rts_slope),
           method = "pearson", label.x = 0.7, label.y = 0.05,
           inherit.aes = F, color = "#00BFC4", size = 5) +
    stat_cor(data = subset(bucld_mulreg[,c(1:46)], Group == "ASD"),
              aes(x = accuracy_children_vsl_accuracies, y = slope_children_vsl_indiv_rts_slope),
             method = "pearson", label.x = 0.7, label.y = 0.04,
           inherit.aes = F, color = "#F8766d", size = 5)
## Warning: Removed 4 rows containing non-finite values (stat_smooth).
## Warning: Removed 3 rows containing non-finite values (stat_smooth).
## Warning: Removed 4 rows containing non-finite values (stat_cor).
## Warning: Removed 3 rows containing non-finite values (stat_cor).
## Warning: Removed 7 rows containing missing values (geom_point).

  #+
  #geom_text(aes(x = 20, y = 120, label = paste("rho =", "-0.76**")),color = "red",size=4)

ggsave("bucld_vsl_acc_slope_corr.png",
       width = 15, height = 15, units = "cm")
## Warning: Removed 4 rows containing non-finite values (stat_smooth).
## Warning: Removed 3 rows containing non-finite values (stat_smooth).
## Warning: Removed 4 rows containing non-finite values (stat_cor).
## Warning: Removed 3 rows containing non-finite values (stat_cor).
## Warning: Removed 7 rows containing missing values (geom_point).
library("ggpubr")
bucld_mulreg[,c(1:46)] %>%
ggplot(aes(x = accuracy_children_lsl_accuracies, y = slope_children_lsl_indiv_rts_slope, color = Group)) +
  geom_point(size = 4, alpha = 0.8) +
  scale_fill_brewer(palette = "Set2") +
      labs(title = "Letter Accuracy and Reaction Time Slope Correlation",
          x = "Letter SL Accuracy",
          y = "Letter SL Reaction Time Slope (arbitrary unit/ trial") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(
        plot.title = element_text(size=16, face="bold"),
        axis.title.x = element_text(size=14, face="bold"),
        axis.title.y = element_text(size=14, face="bold"),
        axis.text=element_text(size=12, face = "bold")
        ) +
  theme(legend.text=element_text(size=14, face="bold")) +
   theme(
    panel.background = element_rect(fill = "white"),
    legend.title = element_text(size = 16, face = "bold"),# Set plot background to white
    legend.key  = element_rect(fill = "white"),              # Set legend item backgrounds to white
    axis.line.x = element_line(colour = "black", size = 1),  # Add line to x axis
    axis.line.y = element_line(colour = "black", size = 1)   # Add line to y axis
  ) +
  geom_smooth(data = subset(bucld_mulreg[,c(1:46)], Group == "TD"),
              aes(x = accuracy_children_lsl_accuracies, y = slope_children_lsl_indiv_rts_slope),
              method=lm, se=FALSE, show.legend = F, inherit.aes = F, color = "#00BFC4") +
  geom_smooth(data = subset(bucld_mulreg[,c(1:46)], Group == "ASD"),
              aes(x = accuracy_children_lsl_accuracies, y = slope_children_lsl_indiv_rts_slope),
              method=lm, se=FALSE, show.legend = F, inherit.aes = F, color = "#F8766d") +
  stat_cor(data = subset(bucld_mulreg[,c(1:46)], Group == "TD"),
              aes(x = accuracy_children_lsl_accuracies, y = slope_children_lsl_indiv_rts_slope),
           method = "pearson", label.x = 0.7, label.y = 0.05,
           inherit.aes = F, color = "#00BFC4", size = 5) +
    stat_cor(data = subset(bucld_mulreg[,c(1:46)], Group == "ASD"),
              aes(x = accuracy_children_lsl_accuracies, y = slope_children_lsl_indiv_rts_slope),
             method = "pearson", label.x = 0.7, label.y = 0.04,
           inherit.aes = F, color = "#F8766d", size = 5)
## Warning: Removed 6 rows containing non-finite values (stat_smooth).
## Warning: Removed 4 rows containing non-finite values (stat_smooth).
## Warning: Removed 6 rows containing non-finite values (stat_cor).
## Warning: Removed 4 rows containing non-finite values (stat_cor).
## Warning: Removed 10 rows containing missing values (geom_point).

  #+
  #geom_text(aes(x = 20, y = 120, label = paste("rho =", "-0.76**")),color = "red",size=4)

ggsave("bucld_lsl_acc_slope_corr.png",
       width = 15, height = 15, units = "cm")
## Warning: Removed 6 rows containing non-finite values (stat_smooth).
## Warning: Removed 4 rows containing non-finite values (stat_smooth).
## Warning: Removed 6 rows containing non-finite values (stat_cor).
## Warning: Removed 4 rows containing non-finite values (stat_cor).
## Warning: Removed 10 rows containing missing values (geom_point).
library("ggpubr")
bucld_mulreg[,c(1:46)] %>%
ggplot(aes(x = rt_children_ssl_indiv_rts, y = rt_children_tsl_indiv_rts, color = Group)) +
  geom_point(size = 4, alpha = 0.8) +
  scale_fill_brewer(palette = "Set2") +
      labs(title = "Syllable and Tone SL RT Correlation",
         y = "Tone SL Mean Reaction Time (ms)",  # Change x-axis label
         x = "Syllable SL Mean Reaction Time (ms)") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(
        plot.title = element_text(size=16, face="bold"),
        axis.title.x = element_text(size=14, face="bold"),
        axis.title.y = element_text(size=14, face="bold"),
        axis.text=element_text(size=12, face = "bold")
        ) +
  theme(legend.text=element_text(size=14, face="bold")) +
   theme(
    panel.background = element_rect(fill = "white"),
    legend.title = element_text(size = 16, face = "bold"),# Set plot background to white
    legend.key  = element_rect(fill = "white"),              # Set legend item backgrounds to white
    axis.line.x = element_line(colour = "black", size = 1),  # Add line to x axis
    axis.line.y = element_line(colour = "black", size = 1)   # Add line to y axis
  ) +
  geom_smooth(data = subset(bucld_mulreg[,c(1:46)], Group == "TD"),
              aes(x = rt_children_ssl_indiv_rts, y = rt_children_tsl_indiv_rts),
              method=lm, se=FALSE, show.legend = F, inherit.aes = F, color = "#00BFC4") +
  geom_smooth(data = subset(bucld_mulreg[,c(1:46)], Group == "ASD"),
              aes(x = rt_children_ssl_indiv_rts, y = rt_children_tsl_indiv_rts),
              method=lm, se=FALSE, show.legend = F, inherit.aes = F, color = "#F8766d") +
stat_cor(data = subset(bucld_mulreg[,c(1:46)], Group == "TD"),
            aes(x = rt_children_ssl_indiv_rts, y = rt_children_tsl_indiv_rts),
         method = "pearson", label.x = -100, label.y = 500,
         inherit.aes = F, color = "#00BFC4", size = 5) +
  stat_cor(data = subset(bucld_mulreg[,c(1:46)], Group == "ASD"),
            aes(x = rt_children_ssl_indiv_rts, y = rt_children_tsl_indiv_rts),
           method = "pearson", label.x = -100, label.y = 400,
         inherit.aes = F, color = "#F8766d", size = 5)
## Warning: Removed 11 rows containing non-finite values (stat_smooth).
## Warning: Removed 7 rows containing non-finite values (stat_smooth).
## Warning: Removed 11 rows containing non-finite values (stat_cor).
## Warning: Removed 7 rows containing non-finite values (stat_cor).
## Warning: Removed 18 rows containing missing values (geom_point).

  #+ 
  #geom_text(aes(x = 20, y = 120, label = paste("rho =", "-0.76**")),color = "red",size=4)

ggsave("bucld_ssl_tsl_rt_corr.png",
       width = 15, height = 15, units = "cm")
## Warning: Removed 11 rows containing non-finite values (stat_smooth).
## Warning: Removed 7 rows containing non-finite values (stat_smooth).
## Warning: Removed 11 rows containing non-finite values (stat_cor).
## Warning: Removed 7 rows containing non-finite values (stat_cor).
## Warning: Removed 18 rows containing missing values (geom_point).

Behavioral Correlations

Heat Map

Heat Map for R, P, N for behavioral correlations (TD + ASD)

Within Task, Across Measures

Across Behavioral Tasks, Within Measure (TD + ASD)

Across Behavioral Tasks, Within Measure (TD or ASD Only)

library("ggplot2")

plot_heatmap_r_func <-
function(df) {
ggplot(data = df, aes(x = column, y = row, fill = cor)) +
  geom_tile(color = "white") +
  scale_fill_gradient2(
    low = "blue",
    high = "red",
    mid = "white",
    midpoint = 0,
    limit = c(-1, 1),
    space = "Lab",
    name = "pearson\nCorrelation r"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(
    angle = 90,
    vjust = 1,
    size = 10,
    hjust = 1
  )) +
  theme(axis.title.x = element_blank(),
        axis.text.y = element_text (size = 10),
        axis.title.y = element_blank()) +
  coord_fixed() +
  geom_text(aes(label = cor), color = "black", size = 2)
}

plot_heatmap_p_func <-
function(df) {
ggplot(data = heat_map_corr_data_task, aes(x = column, y = row, fill = p)) +
  geom_tile(color = "white") +
  scale_fill_gradient2(
    low = "blue",
    high = "red",
    mid = "white",
    midpoint = 0,
    limit = c(0, 1),
    space = "Lab",
    name = "p-value"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(
    angle = 90,
    vjust = 1,
    size = 10,
    hjust = 1
  )) +
  theme(axis.title.x = element_blank(),
        axis.text.y = element_text (size = 10),
        axis.title.y = element_blank()) +
  coord_fixed() +
  geom_text(aes(label = p), color = "black", size = 2)
}

plot_heatmap_r_func(heat_map_corr_data_task_td)
## Warning: Removed 44 rows containing missing values (geom_text).

ggsave(
  "corr_within_measure_td.png", 
  dpi = 150
)
## Saving 7 x 5 in image
## Warning: Removed 44 rows containing missing values (geom_text).
plot_heatmap_r_func(heat_map_corr_data_td)
## Warning: Removed 44 rows containing missing values (geom_text).

ggsave(
  "corr_within_task_td.png", 
  dpi = 150)
## Saving 7 x 5 in image
## Warning: Removed 44 rows containing missing values (geom_text).
plot_heatmap_r_func(heat_map_corr_data_asd)

ggsave(
  "corr_within_task_asd.png", 
  dpi = 150)
## Saving 7 x 5 in image
plot_heatmap_r_func(heat_map_corr_data_task_asd)

ggsave(
  "corr_within_measure_asd.png", 
  dpi = 150
)
## Saving 7 x 5 in image
plot_heatmap_r_func(heat_map_corr_data_task_asd)

ggsave(
  "corr_within_measure_asd.png", 
  dpi = 150)
## Saving 7 x 5 in image
plot_heatmap_p_func(heat_map_corr_data_task_td)

ggsave(
  "corr_p_within_measure_td.png", 
  dpi = 150
)
## Saving 7 x 5 in image
plot_heatmap_p_func(heat_map_corr_data_task_asd)

ggsave(
  "corr_p_within_measure_asd.png", 
  dpi = 150
)
## Saving 7 x 5 in image
plot_heatmap_p_func(heat_map_corr_data_td)

ggsave(
  "corr_p_within_task_td.png", 
  dpi = 150
)
## Saving 7 x 5 in image
plot_heatmap_p_func(heat_map_corr_data_asd)

ggsave(
  "corr_p_within_task_asd.png", 
  dpi = 150
)
## Saving 7 x 5 in image

In Progress, Ignore below

Beh Corr Plots

Ignore: ASD Beh Corr Plot

Partial Correlations Controling for Age and IQ

MRI Gray Matter Corr Plots

SSL Mean RT: Negative Corr between SSL Mean RT and Gray Matter Volume

MRI Behavioral correlation plot with text labels

TSL Mean RT: Positive Corr between TSL Mean RT and Gray Matter Volume

TSL Slope: Positive Corr between TSL RT Slope and Gray Matter Volume

MRI Cortical Thickness Corr Plots

SSL Mean RT: Negative Corr between SSL Mean RT and Cortical Thickness